package a.j.b;

import a.c.bb;
import a.c.q;
import a.c.z;
import a.d.o;
import a.d.s;
import a.d.t;
import a.d.u;
import a.f.hc;
import a.f.xc;
import a.f.yc;
import a.f.zc;
import a.j.a.j;
import a.j.a.n;
import a.j.g;
import a.j.*;

import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.Rectangle2D.Double;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.*;
import java.util.List;

public class f
  extends n
{
  private static final int Cb = 30;
  private static final String Db = "y.view.TableGroupNodeRealizer.DEFAULT_CONFIGURATION";
  private static final u Eb = new u(0.0D, 0.0D, 0.0D, 0.0D);
  private b_ Fb;
  private double Gb;
  private double Hb;
  private double Ib;
  private double Jb;
  private u Kb;
  private u Lb;
  private boolean Mb;
  static Class Nb;
  static Class Ob;
  static Class Pb;
  static Class Qb;
  static Class Rb;
  static Class Sb;
  static Class Tb;
  static Class Ub;
  public static boolean Vb;
  public static int Wb;
  
  public f()
  {
    mb();
  }
  
  public f(ld paramld)
  {
    super(paramld);
    f localf;
    int i;
    int j;
    if ((k != 0) || ((paramld instanceof f)))
    {
      localf = (f)paramld;
      i = 0;
      j = x();
    }
    while (i < j)
    {
      jg localjg1 = localf.b(i);
      jg localjg2 = b(i);
      yc localyc = localjg2.a();
      if (k == 0) {
        if (!(localyc instanceof e_))
        {
          if (k != 0) {
            break label125;
          }
          if (!(localyc instanceof f_)) {
            break label120;
          }
        }
      }
      Object localObject = localjg1.e();
      if (k == 0)
      {
        if ((localObject instanceof h_)) {
          localjg2.a(localObject);
        }
        label120:
        i++;
      }
      if (bool) {
        label125:
        mb();
      }
    }
  }
  
  public boolean Z()
  {
    return this.Mb;
  }
  
  public void g(boolean paramBoolean)
  {
    this.Mb = paramBoolean;
  }
  
  public void ab()
  {
    int i = Wb;
    boolean bool = qb();
    if (i == 0)
    {
      if (bool) {
        h(false);
      }
      bb();
      if (i == 0) {
        d(a(), b(), cb(), db());
      }
    }
    else if (!bool)
    {
      return;
    }
    h(bool);
  }
  
  private void bb()
  {
    int i = Wb;
    boolean bool = Vb;
    r_ localr_ = eb();
    Iterator localIterator = localr_.l().iterator();
    do
    {
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        a((n_)localIterator.next());
        if (i != 0) {
          break label85;
        }
        if (bool) {
          break label79;
        }
      } while (!bool);
    } while (i != 0);
    label79:
    label85:
    do
    {
      localIterator = localr_.o().iterator();
      while (!bool)
      {
        if (!localIterator.hasNext()) {
          break;
        }
        a((p_)localIterator.next());
      }
    } while (i != 0);
  }
  
  private double a(n_ paramn_)
  {
    int i = Wb;
    boolean bool = Vb;
    List localList = paramn_.l();
    if (!localList.isEmpty())
    {
      u localu = paramn_.i();
      double d = localu.c + localu.e;
      Iterator localIterator = localList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (i != 0) {
          break label115;
        }
        d += a((n_)localIterator.next());
        if (bool) {
          break label109;
        }
      } while (!bool);
      if (i != 0) {
        break label110;
      }
      paramn_.b(d);
    }
    label109:
    label110:
    label115:
    return paramn_.g();
  }
  
  private double a(p_ paramp_)
  {
    int i = Wb;
    boolean bool = Vb;
    List localList = paramp_.o();
    if (!localList.isEmpty())
    {
      u localu = paramp_.i();
      double d = localu.b + localu.d;
      Iterator localIterator = localList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (i != 0) {
          break label115;
        }
        d += a((p_)localIterator.next());
        if (bool) {
          break label109;
        }
      } while (!bool);
      if (i != 0) {
        break label110;
      }
      paramp_.b(d);
    }
    label109:
    label110:
    label115:
    return paramp_.g();
  }
  
  private double b(n_ paramn_)
  {
    int i = Wb;
    boolean bool = Vb;
    List localList = paramn_.l();
    if (localList.isEmpty()) {
      return paramn_.g();
    }
    u localu = paramn_.i();
    double d = localu.c + localu.e;
    Iterator localIterator = localList.iterator();
    if (localIterator.hasNext()) {}
    while (i != 0)
    {
      if (bool) {
        break label114;
      }
      d += b((n_)localIterator.next());
      if (!bool) {
        break;
      }
    }
    label114:
    return Math.max(d, paramn_.g());
  }
  
  private double cb()
  {
    int i = Wb;
    boolean bool = Vb;
    r_ localr_ = eb();
    m_ localm_ = new m_();
    c(localm_);
    double d = localm_.b + localm_.d;
    Iterator localIterator = localr_.l().iterator();
    do
    {
      while (!bool)
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (bool) {
          break label94;
        }
        d += b((n_)localIterator.next());
      }
    } while (i != 0);
    label94:
    return d;
  }
  
  private double b(p_ paramp_)
  {
    int i = Wb;
    boolean bool = Vb;
    List localList = paramp_.o();
    if (localList.isEmpty()) {
      return paramp_.g();
    }
    u localu = paramp_.i();
    double d = localu.b + localu.d;
    Iterator localIterator = localList.iterator();
    if (localIterator.hasNext()) {}
    while (i != 0)
    {
      if (bool) {
        break label114;
      }
      d += b((p_)localIterator.next());
      if (!bool) {
        break;
      }
    }
    label114:
    return Math.max(d, paramp_.g());
  }
  
  private double db()
  {
    int i = Wb;
    boolean bool = Vb;
    r_ localr_ = eb();
    m_ localm_ = new m_();
    a(localm_);
    double d = localm_.a + localm_.c;
    Iterator localIterator = localr_.o().iterator();
    do
    {
      while (!bool)
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (bool) {
          break label94;
        }
        d += b((p_)localIterator.next());
      }
    } while (i != 0);
    label94:
    return d;
  }
  
  protected void a(md parammd)
  {
    int i = Wb;
    super.a(parammd);
    if ((i != 0) || ((parammd instanceof f)))
    {
      f localf = (f)parammd;
      if (i == 0) {
        if (localf.Fb == null)
        {
          this.Fb = null;
          if (i != 0) {
            break label115;
          }
          if (!Vb) {
            break label67;
          }
        }
      }
      this.Fb = new b_(localf.Fb);
      label67:
      this.Gb = localf.Gb;
      this.Hb = localf.Hb;
      this.Ib = localf.Ib;
      this.Jb = localf.Jb;
      this.Kb = localf.Kb;
      this.Lb = localf.Lb;
      label115:
      this.Mb = localf.Mb;
    }
  }
  
  public ld a(ld paramld)
  {
    return new f(paramld);
  }
  
  public r_ eb()
  {
    if (Wb == 0) {
      if (this.Fb == null) {
        this.Fb = new b_(this.Gb, this.Hb, this.Ib, this.Jb, this.Kb, this.Lb);
      }
    }
    return this.Fb;
  }
  
  public double fb()
  {
    return this.Gb;
  }
  
  public void j(double paramDouble)
  {
    this.Gb = paramDouble;
  }
  
  public double gb()
  {
    return this.Ib;
  }
  
  public void k(double paramDouble)
  {
    this.Ib = paramDouble;
  }
  
  public u hb()
  {
    return this.Kb;
  }
  
  public void a(u paramu)
  {
    this.Kb = paramu;
  }
  
  public double ib()
  {
    return this.Hb;
  }
  
  public void l(double paramDouble)
  {
    this.Hb = paramDouble;
  }
  
  public double jb()
  {
    return this.Jb;
  }
  
  public void m(double paramDouble)
  {
    this.Jb = paramDouble;
  }
  
  public u kb()
  {
    return this.Lb;
  }
  
  public void d(u paramu)
  {
    this.Lb = paramu;
  }
  
  public static Map lb()
  {
    int i = Wb;
    boolean bool = Vb;
    Map localMap = e().a();
    if (i == 0) {}
    localMap.put(Nb == null ? (f.Nb = h("a.j.md$t_")) : Nb, k.a());
    if (i == 0) {}
    localMap.put(Ob == null ? (f.Ob = h("a.j.md$l_")) : Ob, null);
    if (i == 0) {}
    localMap.put(Pb == null ? (f.Pb = h("a.j.md$i_")) : Pb, null);
    v localv = new v();
    localv.a(new b());
    localv.a(new d());
    localv.a(new e());
    localv.a(new c());
    if (i == 0) {}
    localMap.put(Qb == null ? (f.Qb = h("a.j.md$m_")) : Qb, localv);
    s_ locals_ = new s_(null);
    if (i == 0) {}
    localMap.put(Rb == null ? (f.Rb = h("a.j.a.n$b_")) : Rb, locals_);
    if (i == 0) {}
    localMap.put(Sb == null ? (f.Sb = h("a.j.md$h_")) : Sb, locals_);
    if (i == 0) {}
    localMap.put(Tb == null ? (f.Tb = h("a.j.md$k_")) : Tb, new c_(null));
    if (i == 0) {}
    localMap.put(Ub == null ? (f.Ub = h("a.j.md$s_")) : Ub, new md.s_()
    {
      public void a(ld paramAnonymousld, Rectangle2D paramAnonymousRectangle2D)
      {
        int k = f.Wb;
        boolean bool = f.Vb;
        double d1 = paramAnonymousld.a();
        double d2 = paramAnonymousld.b();
        double d3 = paramAnonymousld.c();
        double d4 = paramAnonymousld.d();
        if (k == 0) {
          if ((paramAnonymousld instanceof f))
          {
            f localf = (f)paramAnonymousld;
            double d6 = localf.cb();
            if (k == 0) {
              if (d3 < d6) {
                d3 = d6;
              }
            }
            double d8 = localf.db();
            if (k != 0) {
              break label105;
            }
            if (d4 < d8) {
              d4 = d8;
            }
          }
        }
        label105:
        if (k == 0)
        {
          if (paramAnonymousRectangle2D.getWidth() > 0.0D)
          {
            if (k != 0) {
              break label202;
            }
            if (paramAnonymousRectangle2D.getHeight() > 0.0D)
            {
              double d5 = d1 + d3;
              double d7 = d2 + d4;
              d1 = Math.min(d1, paramAnonymousRectangle2D.getX());
              d2 = Math.min(d2, paramAnonymousRectangle2D.getY());
              d3 = Math.max(d5, paramAnonymousRectangle2D.getMaxX()) - d1;
              d4 = Math.max(d7, paramAnonymousRectangle2D.getMaxY()) - d2;
            }
          }
          paramAnonymousRectangle2D.setFrame(d1, d2, d3, d4);
        }
        label202:
        int i;
        int j;
        if (k == 0)
        {
          if (paramAnonymousld.x() > 0)
          {
            i = 0;
            j = paramAnonymousld.x();
            do
            {
              if (i >= j) {
                break;
              }
              paramAnonymousld.b(i).a(paramAnonymousRectangle2D);
              i++;
              if ((k == 0) && (bool)) {
                return;
              }
            } while (!bool);
          }
          if (k != 0) {}
        }
        else if ((k != 0) || (paramAnonymousld.y() > 0))
        {
          i = 0;
          j = paramAnonymousld.y();
          do
          {
            if (i >= j) {
              break;
            }
            paramAnonymousld.c(i).a(paramAnonymousRectangle2D);
            i++;
          } while (!bool);
        }
      }
    });
    if ((i != 0) || (bool))
    {
      if (i == 0) {}
      q.n = !q.n;
    }
    if (i != 0) {
      q.o = !q.o;
    }
    return localMap;
  }
  
  private void mb()
  {
    a(new Color(248, 236, 201));
    b(new Color(0, 66, 244, 64));
    a(false);
    b(s_.d);
    this.Gb = 30.0D;
    this.Hb = 30.0D;
    this.Ib = 30.0D;
    this.Jb = 30.0D;
    this.Kb = Eb;
    this.Lb = Eb;
    this.Fb = null;
    this.Mb = true;
    nb();
    md.f_ localf_ = e();
    if (Wb == 0)
    {
      if (!localf_.d().contains("y.view.TableGroupNodeRealizer.DEFAULT_CONFIGURATION")) {
        localf_.a("y.view.TableGroupNodeRealizer.DEFAULT_CONFIGURATION", lb());
      }
      e("y.view.TableGroupNodeRealizer.DEFAULT_CONFIGURATION");
    }
  }
  
  private void nb()
  {
    a.j.c localc1 = a.j.c.a(1, (byte)0);
    a.j.c localc2 = a.j.c.a(3, (byte)0);
    l.a_ locala_1 = new l.a_(localc1, Color.BLACK, new Color(71, 74, 67, 64));
    l.a_ locala_2 = new l.a_(localc2, Color.BLACK, new Color(71, 74, 67, 128));
    a("y.view.tabular.TableNodePainter.ALTERNATE_COLUMN_STYLE", locala_1);
    a("y.view.tabular.TableNodePainter.ALTERNATE_ROW_STYLE", locala_1);
    a("y.view.tabular.TableNodePainter.ALTERNATE_COLUMN_SELECTION_STYLE", locala_2);
    a("y.view.tabular.TableNodePainter.ALTERNATE_ROW_SELECTION_STYLE", locala_2);
  }
  
  private void b(a.c.e parame)
  {
    int i = Wb;
    if ((i != 0) || (n() != parame))
    {
      if (i == 0) {
        if (parame == null) {
          throw new IllegalArgumentException("null");
        }
      }
      if (i == 0) {
        if (n() == null) {
          throw new IllegalStateException("realizer not bound to node");
        }
      }
      if (parame.g() != n().g()) {
        throw new IllegalArgumentException("node does not belong to graph");
      }
    }
  }
  
  private boolean c(a.c.e parame)
  {
    int i = Wb;
    boolean bool = Vb;
    a.c.e locale1 = n();
    j localj = j.a(locale1.g());
    if (i == 0) {
      if (localj == null) {
        return false;
      }
    }
    a.c.e locale2 = localj.p(parame);
    if (locale2 != null)
    {
      if (i == 0) {
        if (locale2 == locale1) {
          return true;
        }
      }
      locale2 = localj.p(locale2);
    }
    while (i != 0) {
      if (!bool) {
        break;
      }
    }
    return false;
  }
  
  private ld e(a.c.e parame)
  {
    b(parame);
    return ((g)parame.g()).w(parame);
  }
  
  private j ob()
  {
    int i = Wb;
    a.c.e locale = n();
    if ((i != 0) || (locale != null))
    {
      q localq = locale.g();
      if ((i != 0) || (localq != null)) {
        return j.a(localq);
      }
    }
    return null;
  }
  
  private void pb()
  {
    int k = Wb;
    boolean bool = Vb;
    int i = x();
    if ((k != 0) || (i > 0))
    {
      int j = 0;
      do
      {
        if (j >= i) {
          break;
        }
        b(j).p();
        j++;
      } while (!bool);
    }
  }
  
  private boolean qb()
  {
    int i = Wb;
    a.j.a.b localb = K();
    if ((localb != null) && ((i != 0) || (U()))) {
      if (i != 0) {}
    }
    return !h();
  }
  
  private void h(boolean paramBoolean)
  {
    a.j.a.b localb = K();
    if ((Wb != 0) || (localb != null)) {
      localb.a(paramBoolean);
    }
  }
  
  private Rectangle2D c(n_ paramn_)
  {
    int i = Wb;
    boolean bool = Vb;
    double d1 = 0.0D;
    double d2 = 0.0D;
    double d3 = 0.0D;
    Object localObject1 = paramn_;
    while (localObject1 != null)
    {
      o_ localo_ = ((n_)localObject1).a();
      Object localObject2 = localo_.l().iterator();
      Object localObject3;
      do
      {
        if (!((Iterator)localObject2).hasNext()) {
          break;
        }
        localObject3 = (n_)((Iterator)localObject2).next();
        if (bool) {
          break label108;
        }
        if (localObject3 == localObject1) {
          break;
        }
        d1 += ((n_)localObject3).g();
      } while (!bool);
      if (i == 0) {
        label108:
        if ((localo_ instanceof n_))
        {
          localObject2 = (n_)localo_;
          localObject3 = ((n_)localObject2).i();
          if (i == 0)
          {
            if (localObject3 != null)
            {
              d1 += ((u)localObject3).c;
              d2 += ((u)localObject3).b;
              d3 += ((u)localObject3).d;
            }
            localObject1 = localObject2;
          }
          continue;
        }
      }
      if (localo_ == eb())
      {
        d1 += tb();
        localObject2 = eb().d();
        d2 += ((u)localObject2).b;
        d3 += ((u)localObject2).d;
        localObject1 = null;
      }
      else
      {
        throw new IllegalStateException("Invalid or no parent.");
      }
    }
    return new Rectangle2D.Double(a() + d1, b() + d2, paramn_.g(), d() - d2 - d3);
  }
  
  private Rectangle2D c(p_ paramp_)
  {
    int i = Wb;
    boolean bool = Vb;
    double d1 = 0.0D;
    double d2 = 0.0D;
    double d3 = 0.0D;
    Object localObject1 = paramp_;
    while (localObject1 != null)
    {
      q_ localq_ = ((p_)localObject1).a();
      Object localObject2 = localq_.o().iterator();
      Object localObject3;
      do
      {
        if (!((Iterator)localObject2).hasNext()) {
          break;
        }
        localObject3 = (p_)((Iterator)localObject2).next();
        if (bool) {
          break label110;
        }
        if (localObject3 == localObject1) {
          break;
        }
        d3 += ((p_)localObject3).g();
      } while (!bool);
      if (i == 0) {
        label110:
        if ((localq_ instanceof p_))
        {
          localObject2 = (p_)localq_;
          localObject3 = ((p_)localObject2).i();
          if (i == 0)
          {
            if (localObject3 != null)
            {
              d1 += ((u)localObject3).c;
              d2 += ((u)localObject3).e;
              d3 += ((u)localObject3).b;
            }
            localObject1 = localObject2;
          }
          continue;
        }
      }
      if (localq_ == eb())
      {
        d3 += rb();
        localObject2 = eb().d();
        d1 += ((u)localObject2).c;
        d2 += ((u)localObject2).e;
        localObject1 = null;
      }
      else
      {
        throw new IllegalStateException("Invalid or no parent.");
      }
    }
    return new Rectangle2D.Double(a() + d1, b() + d3, c() - d1 - d2, paramp_.g());
  }
  
  double rb()
  {
    m_ localm_ = new m_();
    a(localm_);
    return localm_.a;
  }
  
  double sb()
  {
    m_ localm_ = new m_();
    a(localm_);
    return localm_.c;
  }
  
  private void a(m_ paramm_)
  {
    a(eb(), paramm_);
  }
  
  private static void a(r_ paramr_, m_ paramm_)
  {
    int i = Wb;
    boolean bool = Vb;
    double d1 = 0.0D;
    double d2 = 0.0D;
    Object localObject = paramr_.l().iterator();
    do
    {
      do
      {
        do
        {
          if (!((Iterator)localObject).hasNext()) {
            break;
          }
          n_ localn_ = (n_)((Iterator)localObject).next();
          a(localn_, paramm_);
          if (i == 0) {
            if (d1 < paramm_.a) {
              d1 = paramm_.a;
            }
          }
        } while (d2 >= paramm_.c);
        d2 = paramm_.c;
        if (i != 0) {
          break label121;
        }
        if ((i == 0) && (bool)) {
          break label127;
        }
      } while (i != 0);
    } while (!bool);
    paramm_.a = d1;
    label121:
    paramm_.c = d2;
    label127:
    localObject = paramr_.d();
    paramm_.a += ((u)localObject).b;
    paramm_.c += ((u)localObject).d;
  }
  
  private static void a(n_ paramn_, m_ paramm_)
  {
    int i = Wb;
    boolean bool = Vb;
    u localu = paramn_.i();
    double d1 = (i != 0) || (localu != null) ? localu.b : 0.0D;
    double d2 = (i != 0) || (localu != null) ? localu.d : 0.0D;
    List localList = paramn_.l();
    if (i == 0)
    {
      if (localList.isEmpty())
      {
        paramm_.a = d1;
        paramm_.c = d2;
      }
    }
    else if (!bool) {
      return;
    }
    double d3 = 0.0D;
    double d4 = 0.0D;
    Iterator localIterator = localList.iterator();
    do
    {
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          n_ localn_ = (n_)localIterator.next();
          a(localn_, paramm_);
          if (i == 0) {
            if (d3 < paramm_.a) {
              d3 = paramm_.a;
            }
          }
        } while (d4 >= paramm_.c);
        if (i != 0) {
          break label207;
        }
        d4 = paramm_.c;
        if ((i != 0) || (bool)) {
          break label206;
        }
      } while (i != 0);
    } while (!bool);
    paramm_.a = (d1 + d3);
    label206:
    label207:
    paramm_.c = (d2 + d4);
  }
  
  double tb()
  {
    m_ localm_ = new m_();
    c(localm_);
    return localm_.b;
  }
  
  double ub()
  {
    m_ localm_ = new m_();
    c(localm_);
    return localm_.d;
  }
  
  private void c(m_ paramm_)
  {
    c(eb(), paramm_);
  }
  
  private static void c(r_ paramr_, m_ paramm_)
  {
    int i = Wb;
    boolean bool = Vb;
    double d1 = 0.0D;
    double d2 = 0.0D;
    Object localObject = paramr_.o().iterator();
    do
    {
      do
      {
        do
        {
          if (!((Iterator)localObject).hasNext()) {
            break;
          }
          p_ localp_ = (p_)((Iterator)localObject).next();
          a(localp_, paramm_);
          if (i == 0) {
            if (d1 < paramm_.b) {
              d1 = paramm_.b;
            }
          }
        } while (d2 >= paramm_.d);
        d2 = paramm_.d;
        if (i != 0) {
          break label121;
        }
        if ((i == 0) && (bool)) {
          break label127;
        }
      } while (i != 0);
    } while (!bool);
    paramm_.b = d1;
    label121:
    paramm_.d = d2;
    label127:
    localObject = paramr_.d();
    paramm_.b += ((u)localObject).c;
    paramm_.d += ((u)localObject).e;
  }
  
  private static void a(p_ paramp_, m_ paramm_)
  {
    int i = Wb;
    boolean bool = Vb;
    u localu = paramp_.i();
    double d1 = (i != 0) || (localu != null) ? localu.c : 0.0D;
    double d2 = (i != 0) || (localu != null) ? localu.e : 0.0D;
    List localList = paramp_.o();
    if (i == 0)
    {
      if (localList.isEmpty())
      {
        paramm_.b = d1;
        paramm_.d = d2;
      }
    }
    else if (!bool) {
      return;
    }
    double d3 = 0.0D;
    double d4 = 0.0D;
    Iterator localIterator = localList.iterator();
    do
    {
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          p_ localp_ = (p_)localIterator.next();
          a(localp_, paramm_);
          if (i == 0) {
            if (d3 < paramm_.b) {
              d3 = paramm_.b;
            }
          }
        } while (d4 >= paramm_.d);
        if (i != 0) {
          break label207;
        }
        d4 = paramm_.d;
        if ((i != 0) || (bool)) {
          break label206;
        }
      } while (i != 0);
    } while (!bool);
    paramm_.b = (d1 + d3);
    label206:
    label207:
    paramm_.d = (d2 + d4);
  }
  
  private p_ h(double paramDouble1, double paramDouble2)
  {
    int i = Wb;
    boolean bool = Vb;
    if ((i != 0) || (f(paramDouble1, paramDouble2)))
    {
      u localu = eb().d();
      m_ localm_ = new m_();
      a(localm_);
      double d1 = paramDouble1 - a();
      double d2 = paramDouble2 - b() - localm_.a;
      double d3 = c();
      d1 -= localu.c;
      d3 -= localu.c + localu.e;
      if (((i != 0) || (d1 >= 0.0D)) && ((i != 0) || ((d2 >= 0.0D) && (d1 <= d3))))
      {
        Iterator localIterator = eb().o().iterator();
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          p_ localp_ = (p_)localIterator.next();
          if (i == 0)
          {
            if (d2 <= localp_.g()) {
              return a(localp_, d1, d2, d3);
            }
            d2 -= localp_.g();
          }
        } while (!bool);
      }
    }
    return null;
  }
  
  private p_ a(p_ paramp_, double paramDouble1, double paramDouble2, double paramDouble3)
  {
    int i = Wb;
    boolean bool = Vb;
    if ((i != 0) || (!paramp_.o().isEmpty()))
    {
      u localu = paramp_.i();
      double d1 = paramDouble1;
      double d2 = paramDouble2;
      double d3 = paramDouble3;
      if (localu != null)
      {
        if (((i != 0) || (paramDouble1 >= localu.c)) && ((i != 0) || (paramDouble1 <= paramDouble3 - localu.e))) {
          if (i == 0)
          {
            if (paramDouble2 >= localu.b) {
              if (i != 0) {
                break label160;
              }
            }
          }
          else {
            if (paramDouble2 <= paramp_.g() - localu.d) {
              break label127;
            }
          }
        }
        return paramp_;
        label127:
        d1 -= localu.c;
        d2 -= localu.b;
        label160:
        d3 -= localu.c + localu.e;
      }
      Iterator localIterator = paramp_.o().iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (bool) {
          break label252;
        }
        p_ localp_ = (p_)localIterator.next();
        if (i == 0)
        {
          if (d2 <= localp_.g()) {
            return a(localp_, d1, d2, d3);
          }
          d2 -= localp_.g();
        }
      } while (!bool);
    }
    label252:
    return paramp_;
  }
  
  private n_ i(double paramDouble1, double paramDouble2)
  {
    int i = Wb;
    boolean bool = Vb;
    if ((i != 0) || (f(paramDouble1, paramDouble2)))
    {
      u localu = eb().d();
      m_ localm_ = new m_();
      c(localm_);
      double d1 = paramDouble1 - a() - localm_.b;
      double d2 = paramDouble2 - b();
      double d3 = d();
      d2 -= localu.b;
      d3 -= localu.b + localu.d;
      if (((i != 0) || (d1 >= 0.0D)) && ((i != 0) || ((d2 >= 0.0D) && (d2 <= d3))))
      {
        Iterator localIterator = eb().l().iterator();
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          n_ localn_ = (n_)localIterator.next();
          if (i == 0)
          {
            if (d1 <= localn_.g()) {
              return a(localn_, d1, d2, d3);
            }
            d1 -= localn_.g();
          }
        } while (!bool);
      }
    }
    return null;
  }
  
  private n_ a(n_ paramn_, double paramDouble1, double paramDouble2, double paramDouble3)
  {
    int i = Wb;
    boolean bool = Vb;
    if ((i != 0) || (!paramn_.l().isEmpty()))
    {
      u localu = paramn_.i();
      double d1 = paramDouble1;
      double d2 = paramDouble2;
      double d3 = paramDouble3;
      if (localu != null)
      {
        if (((i != 0) || (paramDouble1 >= localu.c)) && ((i != 0) || (paramDouble1 <= paramn_.g() - localu.e))) {
          if (i == 0)
          {
            if (paramDouble2 >= localu.b) {
              if (i != 0) {
                break label160;
              }
            }
          }
          else {
            if (paramDouble2 <= paramDouble3 - localu.d) {
              break label127;
            }
          }
        }
        return paramn_;
        label127:
        d1 -= localu.c;
        d2 -= localu.b;
        label160:
        d3 -= localu.b + localu.d;
      }
      Iterator localIterator = paramn_.l().iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        if (bool) {
          break label252;
        }
        n_ localn_ = (n_)localIterator.next();
        if (i == 0)
        {
          if (d1 <= localn_.g()) {
            return a(localn_, d1, d2, d3);
          }
          d1 -= localn_.g();
        }
      } while (!bool);
    }
    label252:
    return paramn_;
  }
  
  public void a(jg paramjg, n_ paramn_, boolean paramBoolean, double paramDouble)
  {
    int i = Wb;
    h_ localh_ = new h_(((j_)paramn_).a, paramBoolean, paramDouble);
    if (i == 0) {
      if (!(paramjg.a() instanceof e_))
      {
        if (i != 0) {
          break label64;
        }
        paramjg.a(new e_(), localh_);
        if (!Vb) {
          return;
        }
      }
    }
    label64:
    paramjg.a(localh_);
  }
  
  public void a(jg paramjg, p_ paramp_, boolean paramBoolean, double paramDouble)
  {
    int i = Wb;
    boolean bool = Vb;
    h_ localh_ = new h_(((j_)paramp_).a, paramBoolean, paramDouble);
    if (i == 0) {
      if (!(paramjg.a() instanceof f_))
      {
        paramjg.a(new f_(), localh_);
        if (i != 0) {
          break label79;
        }
        if (!bool) {
          break label73;
        }
      }
    }
    paramjg.a(localh_);
    label73:
    label79:
    if (i == 0)
    {
      if (paramDouble < 0.5D)
      {
        if (i != 0) {
          break label108;
        }
        paramjg.c(270.0D);
      }
    }
    else if (!bool) {
      return;
    }
    label108:
    paramjg.c(90.0D);
  }
  
  public void a(ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    byte b = paramObjectInputStream.readByte();
    if (Wb == 0) {}
    switch (b)
    {
    case 0: 
    case 1: 
      super.a(paramObjectInputStream);
      g(paramObjectInputStream.readBoolean());
      g_ localg_ = new g_();
      a(localg_, paramObjectInputStream, b);
      a(localg_, paramObjectInputStream);
      if (!Vb) {
        break;
      }
    default: 
      throw new a.e.c();
    }
  }
  
  private void a(g_ paramg_, ObjectInputStream paramObjectInputStream)
    throws IOException, ClassNotFoundException
  {
    int m = Wb;
    boolean bool = Vb;
    int i = x();
    jg[] arrayOfjg = new jg[i];
    int j = 0;
    do
    {
      do
      {
        if (j >= i) {
          break;
        }
        arrayOfjg[j] = b(j);
        j++;
        if (m != 0) {
          break label71;
        }
        if (bool) {
          break label67;
        }
      } while (!bool);
    } while (m != 0);
    j = 0;
    label67:
    label71:
    int k = paramObjectInputStream.readInt();
    jg localjg;
    do
    {
      do
      {
        if (j >= k) {
          break;
        }
        localjg = arrayOfjg[paramObjectInputStream.readInt()];
        localjg.a(new e_(paramObjectInputStream.readDouble()), new h_(paramg_.a(paramObjectInputStream.readInt()), paramObjectInputStream.readBoolean(), paramObjectInputStream.readDouble()));
        j++;
        if (m != 0) {
          break label158;
        }
        if (bool) {
          break label154;
        }
      } while (!bool);
    } while (m != 0);
    j = 0;
    label154:
    label158:
    k = paramObjectInputStream.readInt();
    do
    {
      if (j >= k) {
        break;
      }
      localjg = arrayOfjg[paramObjectInputStream.readInt()];
      localjg.a(new f_(paramObjectInputStream.readDouble()), new h_(paramg_.c(paramObjectInputStream.readInt()), paramObjectInputStream.readBoolean(), paramObjectInputStream.readDouble()));
      j++;
    } while (!bool);
  }
  
  private void a(g_ paramg_, ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    this.Ib = 0.0D;
    double d1 = paramObjectInputStream.readDouble();
    this.Gb = 0.0D;
    double d2 = paramObjectInputStream.readDouble();
    this.Kb = null;
    u localu1 = a(paramObjectInputStream, paramByte);
    this.Jb = 0.0D;
    double d3 = paramObjectInputStream.readDouble();
    this.Hb = 0.0D;
    double d4 = paramObjectInputStream.readDouble();
    this.Lb = null;
    u localu2 = a(paramObjectInputStream, paramByte);
    if (Wb == 0)
    {
      if (paramObjectInputStream.readBoolean())
      {
        r_ localr_ = eb();
        localr_.a(a(paramObjectInputStream, paramByte));
        a(localr_, paramg_, paramObjectInputStream, paramByte);
        a(localr_, paramg_, paramObjectInputStream, paramByte);
      }
      k(d1);
      j(d2);
      a(localu1);
      m(d3);
      l(d4);
      d(localu2);
    }
  }
  
  private void a(o_ paramo_, g_ paramg_, ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    int k = Wb;
    boolean bool = Vb;
    int i = paramObjectInputStream.readInt();
    if (i > 0)
    {
      if (paramo_ == eb())
      {
        a(paramo_.c(0), paramg_, paramObjectInputStream, paramByte);
        if (k != 0) {
          break label69;
        }
        if (!bool) {}
      }
      else
      {
        a(paramo_.j(), paramg_, paramObjectInputStream, paramByte);
      }
      label69:
      int j = 1;
      do
      {
        if (j >= i) {
          break;
        }
        a(paramo_.j(), paramg_, paramObjectInputStream, paramByte);
        j++;
      } while (!bool);
    }
  }
  
  private void a(n_ paramn_, g_ paramg_, ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    paramg_.a(paramObjectInputStream.readInt(), paramn_);
    paramn_.a(paramObjectInputStream.readDouble());
    paramn_.b(paramObjectInputStream.readDouble());
    paramn_.a(a(paramObjectInputStream, paramByte));
    a(paramn_, null, paramObjectInputStream, paramByte);
  }
  
  private void a(q_ paramq_, g_ paramg_, ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    int k = Wb;
    boolean bool = Vb;
    int i = paramObjectInputStream.readInt();
    if (i > 0)
    {
      if (paramq_ == eb())
      {
        a(paramq_.e(0), paramg_, paramObjectInputStream, paramByte);
        if (k != 0) {
          break label69;
        }
        if (!bool) {}
      }
      else
      {
        a(paramq_.m(), paramg_, paramObjectInputStream, paramByte);
      }
      label69:
      int j = 1;
      do
      {
        if (j >= i) {
          break;
        }
        a(paramq_.m(), paramg_, paramObjectInputStream, paramByte);
        j++;
      } while (!bool);
    }
  }
  
  private void a(p_ paramp_, g_ paramg_, ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    paramg_.a(paramObjectInputStream.readInt(), paramp_);
    paramp_.a(paramObjectInputStream.readDouble());
    paramp_.b(paramObjectInputStream.readDouble());
    paramp_.a(a(paramObjectInputStream, paramByte));
    a(paramp_, paramg_, paramObjectInputStream, paramByte);
  }
  
  private static u a(ObjectInputStream paramObjectInputStream, byte paramByte)
    throws IOException, ClassNotFoundException
  {
    int i = Wb;
    if (i == 0) {
      switch (paramByte)
      {
      case 0: 
        return (u)paramObjectInputStream.readObject();
      }
    }
    if ((i != 0) || (paramObjectInputStream.readBoolean()))
    {
      double d1 = paramObjectInputStream.readDouble();
      double d2 = paramObjectInputStream.readDouble();
      double d3 = paramObjectInputStream.readDouble();
      double d4 = paramObjectInputStream.readDouble();
      return new u(d1, d2, d3, d4);
    }
    return null;
  }
  
  public void a(ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    paramObjectOutputStream.writeByte(1);
    super.a(paramObjectOutputStream);
    paramObjectOutputStream.writeBoolean(Z());
    i_ locali_ = new i_();
    c(locali_, paramObjectOutputStream);
    a(locali_, paramObjectOutputStream);
  }
  
  private void a(i_ parami_, ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    int k = Wb;
    boolean bool = Vb;
    int i = x();
    HashMap localHashMap = new HashMap();
    ArrayList localArrayList1 = new ArrayList(i);
    ArrayList localArrayList2 = new ArrayList(i);
    int j = 0;
    jg localjg;
    Object localObject;
    do
    {
      if (j >= i) {
        break;
      }
      localjg = b(j);
      localHashMap.put(localjg, new Integer(j));
      localObject = localjg.a();
      if (bool) {
        break label164;
      }
      if ((localObject instanceof e_))
      {
        localArrayList1.add(localjg);
        if (k != 0) {
          continue;
        }
        if (!bool) {}
      }
      else
      {
        if (k != 0) {
          continue;
        }
        if ((localObject instanceof f_)) {
          localArrayList2.add(localjg);
        }
      }
      j++;
    } while (!bool);
    paramObjectOutputStream.writeInt(localArrayList1.size());
    label164:
    Iterator localIterator;
    if (k == 0)
    {
      if (!localArrayList1.isEmpty())
      {
        localIterator = localArrayList1.iterator();
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localjg = (jg)localIterator.next();
          paramObjectOutputStream.writeInt(((Integer)localHashMap.get(localjg)).intValue());
          paramObjectOutputStream.writeDouble(((d_)localjg.a()).c());
          localObject = d_.c(localjg.e());
          paramObjectOutputStream.writeInt(parami_.a(((h_)localObject).a));
          paramObjectOutputStream.writeBoolean(((h_)localObject).c);
          paramObjectOutputStream.writeDouble(((h_)localObject).d);
          if (k != 0) {
            break label308;
          }
          if (bool) {
            break label298;
          }
        } while (!bool);
      }
      if (k == 0) {
        paramObjectOutputStream.writeInt(localArrayList2.size());
      }
    }
    label298:
    if ((k != 0) || (!localArrayList2.isEmpty()))
    {
      label308:
      localIterator = localArrayList2.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        localjg = (jg)localIterator.next();
        paramObjectOutputStream.writeInt(((Integer)localHashMap.get(localjg)).intValue());
        paramObjectOutputStream.writeDouble(((d_)localjg.a()).c());
        localObject = d_.c(localjg.e());
        paramObjectOutputStream.writeInt(parami_.c(((h_)localObject).a));
        paramObjectOutputStream.writeBoolean(((h_)localObject).c);
        paramObjectOutputStream.writeDouble(((h_)localObject).d);
      } while (!bool);
    }
  }
  
  private void c(i_ parami_, ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    int i = Wb;
    paramObjectOutputStream.writeDouble(gb());
    paramObjectOutputStream.writeDouble(fb());
    a(hb(), paramObjectOutputStream);
    paramObjectOutputStream.writeDouble(jb());
    paramObjectOutputStream.writeDouble(ib());
    a(kb(), paramObjectOutputStream);
    if (i == 0)
    {
      if (this.Fb == null)
      {
        paramObjectOutputStream.writeBoolean(false);
        if (i == 0) {
          if (!Vb) {
            return;
          }
        }
      }
      else
      {
        paramObjectOutputStream.writeBoolean(true);
      }
    }
    else
    {
      a(this.Fb.d(), paramObjectOutputStream);
      a(this.Fb.l(), parami_, paramObjectOutputStream);
    }
    b(this.Fb.o(), parami_, paramObjectOutputStream);
  }
  
  private void a(List paramList, i_ parami_, ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    int i = Wb;
    boolean bool = Vb;
    paramObjectOutputStream.writeInt(paramList.size());
    if ((i != 0) || (!paramList.isEmpty()))
    {
      Iterator localIterator = paramList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        n_ localn_ = (n_)localIterator.next();
        paramObjectOutputStream.writeInt(parami_.a(localn_));
        paramObjectOutputStream.writeDouble(localn_.f());
        paramObjectOutputStream.writeDouble(localn_.g());
        a(localn_.i(), paramObjectOutputStream);
        a(localn_.l(), parami_, paramObjectOutputStream);
      } while (!bool);
    }
  }
  
  private void b(List paramList, i_ parami_, ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    int i = Wb;
    boolean bool = Vb;
    paramObjectOutputStream.writeInt(paramList.size());
    if ((i != 0) || (!paramList.isEmpty()))
    {
      Iterator localIterator = paramList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        p_ localp_ = (p_)localIterator.next();
        paramObjectOutputStream.writeInt(parami_.a(localp_));
        paramObjectOutputStream.writeDouble(localp_.f());
        paramObjectOutputStream.writeDouble(localp_.g());
        a(localp_.i(), paramObjectOutputStream);
        b(localp_.o(), parami_, paramObjectOutputStream);
      } while (!bool);
    }
  }
  
  private static void a(u paramu, ObjectOutputStream paramObjectOutputStream)
    throws IOException
  {
    if (paramu == null)
    {
      paramObjectOutputStream.writeBoolean(false);
      if (Wb == 0) {
        if (!Vb) {
          return;
        }
      }
    }
    else
    {
      paramObjectOutputStream.writeBoolean(true);
      paramObjectOutputStream.writeDouble(paramu.b);
      paramObjectOutputStream.writeDouble(paramu.c);
      paramObjectOutputStream.writeDouble(paramu.d);
    }
    paramObjectOutputStream.writeDouble(paramu.e);
  }
  
  static f d(n_ paramn_)
  {
    return ((l_)paramn_).r();
  }
  
  static f a(o_ paramo_)
  {
    if (Wb == 0) {
      if ((paramo_ instanceof b_)) {
        return ((b_)paramo_).a();
      }
    }
    return ((l_)paramo_).r();
  }
  
  static f d(p_ paramp_)
  {
    return ((k_)paramp_).r();
  }
  
  static f a(q_ paramq_)
  {
    if (Wb == 0) {
      if ((paramq_ instanceof b_)) {
        return ((b_)paramq_).a();
      }
    }
    return ((k_)paramq_).r();
  }
  
  private void j(double paramDouble1, double paramDouble2)
  {
    int i = Wb;
    double d1 = c();
    double d2 = d();
    if (i == 0) {
      if (paramDouble1 <= d1)
      {
        if (i == 0) {
          if (paramDouble2 <= d2) {
            break label76;
          }
        }
      }
      else
      {
        if (i != 0) {
          break label77;
        }
        d(a(), b(), Math.max(paramDouble1, d1), Math.max(paramDouble2, d2));
      }
    }
    if (Vb) {
      label76:
      label77:
      pb();
    }
  }
  
  private void a(b_ paramb_, List paramList, n_ paramn_)
  {
    int i = Wb;
    boolean bool = qb();
    if (i == 0) {
      if (bool) {
        h(false);
      }
    }
    try
    {
      b(paramb_, paramList, paramn_);
      if (i != 0) {}
    }
    finally
    {
      if (bool) {
        h(bool);
      }
    }
  }
  
  private void b(b_ paramb_, List paramList, n_ paramn_)
  {
    int m = Wb;
    boolean bool = Vb;
    List localList1 = paramn_.l();
    o_ localo_ = paramn_.a();
    m_ localm_1 = new m_();
    a(localm_1);
    int i = paramList.indexOf(paramn_);
    int j = 0;
    do
    {
      do
      {
        if (j >= localList1.size()) {
          break;
        }
        l_ locall_ = (l_)localList1.get(j);
        locall_.c = localo_;
        j++;
        if ((m == 0) && (bool)) {
          break label130;
        }
      } while (!bool);
      paramList.remove(i);
    } while (m != 0);
    paramList.addAll(i, localList1);
    label130:
    m_ localm_2 = new m_();
    a(localm_2);
    double d1 = localm_1.a - localm_2.a;
    if (m == 0) {
      if (d1 > 0.0D)
      {
        p_ localp_1 = (p_)paramb_.a.get(0);
        label252:
        do
        {
          List localList2;
          for (;;)
          {
            if (localp_1 == null) {
              break label255;
            }
            localp_1.b(localp_1.g() + d1);
            localList2 = localp_1.o();
            if (m != 0) {
              break label252;
            }
            if (!localList2.isEmpty()) {
              break;
            }
            localp_1 = null;
          }
          localp_1 = (p_)localList2.get(0);
        } while (!bool);
      }
    }
    label255:
    double d2 = localm_1.c - localm_2.c;
    Object localObject;
    if (d2 > 0.0D)
    {
      p_ localp_2 = (p_)paramb_.a.get(paramb_.a.size() - 1);
      do
      {
        for (;;)
        {
          if (localp_2 == null) {
            break label378;
          }
          localp_2.b(localp_2.g() + d2);
          localObject = localp_2.o();
          if (bool) {
            break label390;
          }
          if (!((List)localObject).isEmpty()) {
            break;
          }
          localp_2 = null;
        }
        localp_2 = (p_)((List)localObject).get(((List)localObject).size() - 1);
      } while (!bool);
    }
    label378:
    int k;
    if ((m != 0) || (localList1.isEmpty())) {
      label390:
      if ((m != 0) || (paramList.size() > 0))
      {
        if (m == 0) {}
        k = i == paramList.size() ? 1 : 0;
        if (m == 0) {}
        localObject = (n_)paramList.get(k != 0 ? i - 1 : i);
      }
    } else {
      while (localObject != null)
      {
        ((n_)localObject).b(((n_)localObject).g() + paramn_.g());
        List localList3 = ((n_)localObject).l();
        if (m == 0)
        {
          if (bool) {
            return;
          }
          if (m != 0) {}
        }
        else if (localList3.isEmpty())
        {
          localObject = null;
          continue;
        }
        if (m == 0) {}
        localObject = (n_)localList3.get(k != 0 ? localList3.size() - 1 : 0);
        if (bool)
        {
          u localu = paramn_.i();
          if (m != 0) {
            return;
          }
          label814:
          if ((m != 0) || (localu != null))
          {
            if (m == 0) {
              if (localu.c > 0.0D)
              {
                localObject = (n_)localList1.get(0);
                do
                {
                  for (;;)
                  {
                    if (localObject == null) {
                      break label690;
                    }
                    ((n_)localObject).b(((n_)localObject).g() + localu.c);
                    localList3 = ((n_)localObject).l();
                    if (bool) {
                      break label702;
                    }
                    if (!localList3.isEmpty()) {
                      break;
                    }
                    localObject = null;
                  }
                  localObject = (n_)localList3.get(0);
                } while (!bool);
              }
            }
            label690:
            if ((m != 0) || (localu.e > 0.0D))
            {
              label702:
              localObject = (n_)localList1.get(localList1.size() - 1);
              do
              {
                for (;;)
                {
                  if (localObject == null) {
                    break label817;
                  }
                  ((n_)localObject).b(((n_)localObject).g() + localu.e);
                  localList3 = ((n_)localObject).l();
                  if ((m == 0) && (bool)) {
                    return;
                  }
                  if (m != 0) {
                    break label814;
                  }
                  if (!localList3.isEmpty()) {
                    break;
                  }
                  localObject = null;
                }
                localObject = (n_)localList3.get(localList3.size() - 1);
              } while (!bool);
            }
          }
        }
      }
    }
    label817:
    if (m == 0) {
      pb();
    }
  }
  
  private void a(b_ paramb_, List paramList, p_ paramp_)
  {
    int i = Wb;
    boolean bool = qb();
    if (i == 0) {
      if (bool) {
        h(false);
      }
    }
    try
    {
      c(paramb_, paramList, paramp_);
      if (i != 0) {}
    }
    finally
    {
      if (bool) {
        h(bool);
      }
    }
  }
  
  private void c(b_ paramb_, List paramList, p_ paramp_)
  {
    int m = Wb;
    boolean bool = Vb;
    List localList1 = paramp_.o();
    q_ localq_ = paramp_.a();
    m_ localm_1 = new m_();
    c(localm_1);
    int i = paramList.indexOf(paramp_);
    int j = 0;
    do
    {
      do
      {
        if (j >= localList1.size()) {
          break;
        }
        k_ localk_ = (k_)localList1.get(j);
        localk_.c = localq_;
        j++;
        if ((m == 0) && (bool)) {
          break label130;
        }
      } while (!bool);
      paramList.remove(i);
    } while (m != 0);
    paramList.addAll(i, localList1);
    label130:
    m_ localm_2 = new m_();
    c(localm_2);
    double d1 = localm_1.b - localm_2.b;
    if (m == 0) {
      if (d1 > 0.0D)
      {
        n_ localn_1 = (n_)paramb_.c.get(0);
        label252:
        do
        {
          List localList2;
          for (;;)
          {
            if (localn_1 == null) {
              break label255;
            }
            localn_1.b(localn_1.g() + d1);
            localList2 = localn_1.l();
            if (m != 0) {
              break label252;
            }
            if (!localList2.isEmpty()) {
              break;
            }
            localn_1 = null;
          }
          localn_1 = (n_)localList2.get(0);
        } while (!bool);
      }
    }
    label255:
    double d2 = localm_1.d - localm_2.d;
    Object localObject;
    if (d2 > 0.0D)
    {
      n_ localn_2 = (n_)paramb_.c.get(paramb_.c.size() - 1);
      do
      {
        for (;;)
        {
          if (localn_2 == null) {
            break label378;
          }
          localn_2.b(localn_2.g() + d2);
          localObject = localn_2.l();
          if (bool) {
            break label390;
          }
          if (!((List)localObject).isEmpty()) {
            break;
          }
          localn_2 = null;
        }
        localn_2 = (n_)((List)localObject).get(((List)localObject).size() - 1);
      } while (!bool);
    }
    label378:
    int k;
    if ((m != 0) || (localList1.isEmpty())) {
      label390:
      if ((m != 0) || (paramList.size() > 0))
      {
        if (m == 0) {}
        k = i == paramList.size() ? 1 : 0;
        if (m == 0) {}
        localObject = (p_)paramList.get(k != 0 ? i - 1 : i);
      }
    } else {
      while (localObject != null)
      {
        ((p_)localObject).b(((p_)localObject).g() + paramp_.g());
        List localList3 = ((p_)localObject).o();
        if (m == 0)
        {
          if (bool) {
            return;
          }
          if (m != 0) {}
        }
        else if (localList3.isEmpty())
        {
          localObject = null;
          continue;
        }
        if (m == 0) {}
        localObject = (p_)localList3.get(k != 0 ? localList3.size() - 1 : 0);
        if (bool)
        {
          u localu = paramp_.i();
          if (m != 0) {
            return;
          }
          label814:
          if ((m != 0) || (localu != null))
          {
            if (m == 0) {
              if (localu.b > 0.0D)
              {
                localObject = (p_)localList1.get(0);
                do
                {
                  for (;;)
                  {
                    if (localObject == null) {
                      break label690;
                    }
                    ((p_)localObject).b(((p_)localObject).g() + localu.b);
                    localList3 = ((p_)localObject).o();
                    if (bool) {
                      break label702;
                    }
                    if (!localList3.isEmpty()) {
                      break;
                    }
                    localObject = null;
                  }
                  localObject = (p_)localList3.get(0);
                } while (!bool);
              }
            }
            label690:
            if ((m != 0) || (localu.d > 0.0D))
            {
              label702:
              localObject = (p_)localList1.get(localList1.size() - 1);
              do
              {
                for (;;)
                {
                  if (localObject == null) {
                    break label817;
                  }
                  ((p_)localObject).b(((p_)localObject).g() + localu.d);
                  localList3 = ((p_)localObject).o();
                  if ((m == 0) && (bool)) {
                    return;
                  }
                  if (m != 0) {
                    break label814;
                  }
                  if (!localList3.isEmpty()) {
                    break;
                  }
                  localObject = null;
                }
                localObject = (p_)localList3.get(localList3.size() - 1);
              } while (!bool);
            }
          }
        }
      }
    }
    label817:
    if (m == 0) {
      pb();
    }
  }
  
  private void a(Rectangle2D paramRectangle2D, Collection paramCollection)
  {
    j localj = ob();
    if (localj != null) {
      a(localj, n(), paramRectangle2D, paramCollection);
    }
  }
  
  private void a(j paramj, a.c.e parame, Rectangle2D paramRectangle2D, Collection paramCollection)
  {
    int j = Wb;
    boolean bool = Vb;
    a.c.w localw = paramj.r(parame);
    label152:
    do
    {
      if (!localw.e()) {
        break;
      }
      a.c.e locale = localw.d();
      Object localObject1;
      if ((j != 0) || (paramj.m(locale)))
      {
        localObject1 = paramj.r(locale);
        Object localObject2;
        if (((a.c.w)localObject1).e())
        {
          localObject2 = new LinkedHashSet();
          a(paramj, locale, paramRectangle2D, (Collection)localObject2);
          int i = 1;
          do
          {
            if (!((a.c.w)localObject1).e()) {
              break;
            }
            if (bool) {
              break label152;
            }
            if (!((LinkedHashSet)localObject2).contains(localw.d()))
            {
              i = 0;
              if (j == 0) {
                if (!bool) {
                  break;
                }
              }
            }
            else
            {
              ((a.c.w)localObject1).f();
            }
          } while (!bool);
          if (j == 0)
          {
            if (i != 0) {
              paramCollection.add(locale);
            }
            paramCollection.addAll((Collection)localObject2);
          }
          if (j != 0) {
            continue;
          }
          if (!bool) {}
        }
        else
        {
          localObject2 = e(locale);
          if (j != 0) {
            continue;
          }
          if (paramRectangle2D.contains(((ld)localObject2).A(), ((ld)localObject2).B()))
          {
            paramCollection.add(locale);
            if (j != 0) {
              continue;
            }
            if (!bool) {}
          }
        }
      }
      else
      {
        localObject1 = e(locale);
        if (j != 0) {
          continue;
        }
        if (paramRectangle2D.contains(((ld)localObject1).A(), ((ld)localObject1).B())) {
          paramCollection.add(locale);
        }
      }
      localw.f();
    } while (!bool);
  }
  
  public void b(double paramDouble1, double paramDouble2)
  {
    Rectangle2D.Double localDouble = new Rectangle2D.Double(a(), b(), c(), d());
    if (Wb == 0)
    {
      super.b(paramDouble1, paramDouble2);
      if ((localDouble.getWidth() == c()) && (localDouble.getHeight() == d())) {}
    }
    else
    {
      f(localDouble);
    }
  }
  
  public void a(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    Rectangle2D.Double localDouble = new Rectangle2D.Double(a(), b(), c(), d());
    if (Wb == 0)
    {
      d(paramDouble1, paramDouble2, paramDouble3, paramDouble4);
      if ((localDouble.getWidth() == c()) && (localDouble.getHeight() == d())) {}
    }
    else
    {
      f(localDouble);
    }
  }
  
  public void a(Rectangle2D paramRectangle2D)
  {
    a(paramRectangle2D.getX(), paramRectangle2D.getY(), paramRectangle2D.getWidth(), paramRectangle2D.getHeight());
  }
  
  protected void f(Rectangle2D paramRectangle2D)
  {
    if ((Wb != 0) || (Z())) {
      c_.a(this, paramRectangle2D);
    }
  }
  
  private void d(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4)
  {
    super.b(paramDouble3, paramDouble4);
    super.a(paramDouble1, paramDouble2);
  }
  
  static Class h(String paramString)
  {
    try
    {
      return Class.forName(paramString);
    }
    catch (ClassNotFoundException localClassNotFoundException)
    {
      throw new NoClassDefFoundError(localClassNotFoundException.getMessage());
    }
  }
  
  public static final class f_
    extends f.d_
  {
    public static boolean f;
    
    public f_()
    {
      this(3.0D);
    }
    
    public f_(double paramDouble)
    {
      super();
    }
    
    public Object a()
    {
      return super.a();
    }
    
    f.h_ a(t paramt, f.j_ paramj_)
    {
      int i = f.Wb;
      double d1 = c();
      double d2 = paramt.d + paramt.a * 0.5D;
      Rectangle2D localRectangle2D = paramj_.h();
      if (i == 0)
      {
        if (d2 < localRectangle2D.getX()) {
          return new f.h_(paramj_.a, false, 0.0D);
        }
        if (i != 0) {}
      }
      else if (d2 > localRectangle2D.getMaxX())
      {
        return new f.h_(paramj_.a, false, 1.0D);
      }
      double d3 = paramt.d;
      double d4 = localRectangle2D.getWidth() - paramt.a - 2.0D * d1;
      double d5 = localRectangle2D.getX() + d1;
      double d6 = d5 + d4;
      if (i == 0) {
        if (d3 < d5) {
          return new f.h_(paramj_.a, true, 0.0D);
        }
      }
      if (d3 > d6) {
        return new f.h_(paramj_.a, true, 1.0D);
      }
      return new f.h_(paramj_.a, true, (d3 - d5) / d4);
    }
    
    a.d.w a(s params, f.j_ paramj_, f.h_ paramh_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      double d1 = c();
      Rectangle2D localRectangle2D = paramj_.h();
      double d2 = localRectangle2D.getCenterY() - params.b * 0.5D;
      if (i == 0) {
        if (paramh_.c)
        {
          double d4 = localRectangle2D.getWidth() - params.a - 2.0D * d1;
          d3 = localRectangle2D.getX() + d1 + d4 * paramh_.d;
          if (i == 0) {
            if (!bool) {
              break label148;
            }
          }
        }
        else
        {
          if (i != 0) {
            break label145;
          }
        }
      }
      if (paramh_.d < 0.5D)
      {
        if (i != 0) {
          break label146;
        }
        d3 = localRectangle2D.getX() - params.a - d1;
        if (!bool) {
          break label148;
        }
      }
      label145:
      label146:
      double d3 = localRectangle2D.getMaxX() + d1;
      label148:
      return new a.d.w(d3, d2);
    }
    
    Collection a(f.r_ paramr_)
    {
      return paramr_.o();
    }
    
    public static f.p_ a(jg paramjg)
    {
      if ((f.Wb != 0) || ((paramjg.a() instanceof f_))) {
        return (f.p_)a((f)paramjg.hb(), (f_)paramjg.a(), c(paramjg.e()));
      }
      return null;
    }
    
    public static f.p_ a(f paramf, Object paramObject)
    {
      return (f.p_)a(paramf, new f_(), c(paramObject));
    }
    
    public static Collection a(f.p_ paramp_)
    {
      int k = f.Wb;
      boolean bool = f.Vb;
      f localf = f.d(paramp_);
      ArrayList localArrayList = new ArrayList(localf.x());
      Object localObject = ((f.k_)paramp_).a;
      int i = 0;
      int j = localf.x();
      do
      {
        if (i >= j) {
          break;
        }
        jg localjg = localf.b(i);
        if (k == 0)
        {
          if (((localjg.a() instanceof f_)) && (localObject == c(localjg.e()).a)) {
            localArrayList.add(localjg);
          }
          i++;
        }
      } while (!bool);
      return localArrayList;
    }
    
    public static double b(Object paramObject)
    {
      return c(paramObject).d;
    }
    
    public static Object a(f.p_ paramp_, boolean paramBoolean, double paramDouble)
    {
      return new f.h_(((f.j_)paramp_).a, paramBoolean, paramDouble);
    }
  }
  
  public static final class e_
    extends f.d_
  {
    public static int f;
    
    public e_()
    {
      this(3.0D);
    }
    
    public e_(double paramDouble)
    {
      super();
    }
    
    public Object a()
    {
      return super.a();
    }
    
    f.h_ a(t paramt, f.j_ paramj_)
    {
      int i = f.Wb;
      double d1 = c();
      double d2 = paramt.e + paramt.b * 0.5D;
      Rectangle2D localRectangle2D = paramj_.h();
      if (i == 0)
      {
        if (d2 < localRectangle2D.getY()) {
          return new f.h_(paramj_.a, false, 0.0D);
        }
        if (i != 0) {}
      }
      else if (d2 > localRectangle2D.getMaxY())
      {
        return new f.h_(paramj_.a, false, 1.0D);
      }
      double d3 = paramt.e;
      double d4 = localRectangle2D.getHeight() - paramt.b - 2.0D * d1;
      double d5 = localRectangle2D.getY() + d1;
      double d6 = d5 + d4;
      if (i == 0) {
        if (d3 < d5) {
          return new f.h_(paramj_.a, true, 0.0D);
        }
      }
      if (d3 > d6) {
        return new f.h_(paramj_.a, true, 1.0D);
      }
      return new f.h_(paramj_.a, true, (d3 - d5) / d4);
    }
    
    a.d.w a(s params, f.j_ paramj_, f.h_ paramh_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      double d1 = c();
      Rectangle2D localRectangle2D = paramj_.h();
      double d2 = localRectangle2D.getCenterX() - params.a * 0.5D;
      if (i == 0) {
        if (paramh_.c)
        {
          double d4 = localRectangle2D.getHeight() - params.b - 2.0D * d1;
          d3 = localRectangle2D.getY() + d1 + d4 * paramh_.d;
          if (i == 0) {
            if (!bool) {
              break label148;
            }
          }
        }
        else
        {
          if (i != 0) {
            break label145;
          }
        }
      }
      if (paramh_.d < 0.5D)
      {
        if (i != 0) {
          break label146;
        }
        d3 = localRectangle2D.getY() - params.b - d1;
        if (!bool) {
          break label148;
        }
      }
      label145:
      label146:
      double d3 = localRectangle2D.getMaxY() + d1;
      label148:
      return new a.d.w(d2, d3);
    }
    
    Collection a(f.r_ paramr_)
    {
      return paramr_.l();
    }
    
    public static f.n_ a(jg paramjg)
    {
      if ((f.Wb != 0) || ((paramjg.a() instanceof e_))) {
        return (f.n_)a((f)paramjg.hb(), (e_)paramjg.a(), c(paramjg.e()));
      }
      return null;
    }
    
    public static f.n_ a(f paramf, Object paramObject)
    {
      return (f.n_)a(paramf, new e_(), c(paramObject));
    }
    
    public static Collection a(f.n_ paramn_)
    {
      int k = f.Wb;
      boolean bool = f.Vb;
      f localf = f.d(paramn_);
      ArrayList localArrayList = new ArrayList(localf.x());
      Object localObject = ((f.l_)paramn_).a;
      int i = 0;
      int j = localf.x();
      do
      {
        if (i >= j) {
          break;
        }
        jg localjg = localf.b(i);
        if (k == 0)
        {
          if (((localjg.a() instanceof e_)) && (localObject == c(localjg.e()).a)) {
            localArrayList.add(localjg);
          }
          i++;
        }
      } while (!bool);
      return localArrayList;
    }
    
    public static double b(Object paramObject)
    {
      return c(paramObject).d;
    }
    
    public static Object a(f.n_ paramn_, boolean paramBoolean, double paramDouble)
    {
      return new f.h_(((f.j_)paramn_).a, paramBoolean, paramDouble);
    }
  }
  
  private static abstract class d_
    implements yc
  {
    static final int a = 3;
    static final Object b = new Object();
    private static final double[] c = { 0.0D, 1.0D };
    private static final double[] d = { 0.0D, 0.25D, 0.5D, 0.75D, 1.0D };
    private final double e;
    
    d_(double paramDouble)
    {
      this.e = paramDouble;
    }
    
    public double c()
    {
      return this.e;
    }
    
    public Object a()
    {
      return new f.h_(b, true, 0.5D);
    }
    
    public o a(s params, zc paramzc, Object paramObject)
    {
      a.d.w localw = c(params, paramzc, paramObject);
      return new o(new a.d.w(localw.a(), localw.b() + params.c()), params);
    }
    
    private a.d.w c(s params, zc paramzc, Object paramObject)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if ((i != 0) || ((paramzc instanceof f)))
      {
        f.h_ localh_ = c(paramObject);
        f localf = (f)paramzc;
        f.r_ localr_ = localf.eb();
        ArrayList localArrayList = new ArrayList();
        localArrayList.addAll(a(localr_));
        do
        {
          if (localArrayList.isEmpty()) {
            break;
          }
          f.j_ localj_ = (f.j_)localArrayList.remove(localArrayList.size() - 1);
          if (i == 0)
          {
            if (localj_.a == localh_.a) {
              return a(params, localj_, localh_);
            }
            localArrayList.addAll(localj_.b);
          }
        } while (!bool);
      }
      return new a.d.w(paramzc.a() + (paramzc.c() - params.a) * 0.5D, paramzc.b() + (paramzc.d() - params.b) * 0.5D);
    }
    
    public z a(xc paramxc, zc paramzc)
    {
      int k = f.Wb;
      boolean bool2 = f.Vb;
      t localt = paramxc.c();
      z localz = new z();
      if ((k != 0) || ((paramzc instanceof f)))
      {
        f localf = (f)paramzc;
        f.r_ localr_ = localf.eb();
        ArrayList localArrayList = new ArrayList();
        localArrayList.addAll(a(localr_));
        label231:
        label233:
        label251:
        label254:
        do
        {
          f.j_ localj_;
          do
          {
            if (localArrayList.isEmpty()) {
              break label257;
            }
            localj_ = (f.j_)localArrayList.remove(localArrayList.size() - 1);
            int i = 0;
            do
            {
              if (i >= 2) {
                break;
              }
              if (k != 0) {
                break label254;
              }
              if (bool2) {
                break label251;
              }
              boolean bool1 = i % 2 == 0;
              double[] arrayOfDouble = bool1 ? d : c;
              int j = 0;
              do
              {
                if (j >= arrayOfDouble.length) {
                  break;
                }
                f.h_ localh_ = new f.h_(localj_.a, bool1, arrayOfDouble[j]);
                localz.add(new hc(a(localt, localj_, localh_), localt, localh_, paramxc, true));
                j++;
                if (k != 0) {
                  break label233;
                }
                if (bool2) {
                  break label231;
                }
              } while (!bool2);
              if (k == 0) {
                i++;
              }
            } while (!bool2);
          } while (k != 0);
          localArrayList.addAll(localj_.b);
        } while (!bool2);
      }
      label257:
      return localz;
    }
    
    public Object a(o paramo, zc paramzc)
    {
      if (f.Wb == 0) {
        if (a(paramo)) {
          throw new IllegalArgumentException("Invalid label bounds: " + paramo);
        }
      }
      a.d.w localw = paramo.l();
      s locals = paramo.f();
      return a(new t(localw.a() - locals.b() * 0.5D, localw.b() - locals.c() * 0.5D, locals.b(), locals.c()), paramzc);
    }
    
    private Object a(t paramt, zc paramzc)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      Object localObject = null;
      if ((i != 0) || ((paramzc instanceof f)))
      {
        f localf = (f)paramzc;
        f.r_ localr_ = localf.eb();
        double d1 = (1.0D / 0.0D);
        ArrayList localArrayList = new ArrayList();
        localArrayList.addAll(a(localr_));
        do
        {
          if (localArrayList.isEmpty()) {
            break;
          }
          f.j_ localj_ = (f.j_)localArrayList.remove(localArrayList.size() - 1);
          if (i != 0) {
            break label185;
          }
          f.h_ localh_ = a(paramt, localj_);
          a.d.w localw = a(paramt, localj_, localh_);
          double d2 = a.d.w.a(paramt.f(), localw);
          if (bool) {
            return localObject;
          }
          if (i == 0)
          {
            if (d1 > d2)
            {
              d1 = d2;
              localObject = localh_;
            }
            localArrayList.addAll(localj_.b);
          }
        } while (!bool);
      }
      if ((i == 0) && (i == 0)) {
        if (localObject == null) {
          return a();
        }
      }
      label185:
      return localObject;
    }
    
    static f.j_ a(f paramf, d_ paramd_, f.h_ paramh_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if ((paramf != null) && (paramd_ != null) && (paramh_ != null))
      {
        f.r_ localr_ = paramf.eb();
        ArrayList localArrayList = new ArrayList();
        localArrayList.addAll(paramd_.a(localr_));
        do
        {
          if (localArrayList.isEmpty()) {
            break;
          }
          f.j_ localj_ = (f.j_)localArrayList.remove(localArrayList.size() - 1);
          if (i == 0)
          {
            if (localj_.a == paramh_.a) {
              return localj_;
            }
            localArrayList.addAll(localj_.b);
          }
        } while (!bool);
      }
      return null;
    }
    
    public static boolean a(Object paramObject)
    {
      return c(paramObject).c;
    }
    
    static f.h_ c(Object paramObject)
    {
      try
      {
        return (f.h_)paramObject;
      }
      catch (ClassCastException localClassCastException)
      {
        throw new IllegalArgumentException("Invalid model parameter type.");
      }
    }
    
    static boolean a(o paramo)
    {
      int i = f.Wb;
      if (i == 0) {
        if (!Double.isNaN(paramo.d()))
        {
          if (i != 0) {
            break label89;
          }
          if (!Double.isNaN(paramo.e()))
          {
            if (i != 0) {
              break label89;
            }
            if (!Double.isNaN(paramo.g()))
            {
              if (i != 0) {
                break label89;
              }
              if (!Double.isNaN(paramo.h()))
              {
                if (i != 0) {
                  break label89;
                }
                if (!Double.isNaN(paramo.i())) {
                  if (i != 0) {
                    break label89;
                  }
                }
              }
            }
          }
        }
      }
      label89:
      return Double.isNaN(paramo.j());
    }
    
    abstract f.h_ a(t paramt, f.j_ paramj_);
    
    abstract a.d.w a(s params, f.j_ paramj_, f.h_ paramh_);
    
    abstract Collection a(f.r_ paramr_);
  }
  
  private static final class h_
  {
    final Object a;
    final boolean c;
    final double d;
    
    h_(Object paramObject, boolean paramBoolean, double paramDouble)
    {
      this.a = paramObject;
      this.c = paramBoolean;
      this.d = Math.min(1.0D, Math.max(0.0D, paramDouble));
    }
  }
  
  private static final class c_
    implements md.k_
  {
    private c_() {}
    
    public s a(ld paramld)
    {
      if ((f.Wb != 0) || ((paramld instanceof f))) {
        return a((f)paramld);
      }
      return new s(0.0D, 0.0D);
    }
    
    private static s a(f paramf)
    {
      if (f.Wb == 0) {
        if (paramf.Fb == null) {
          return new s(0.0D, 0.0D);
        }
      }
      f.r_ localr_ = paramf.eb();
      return new s(a(localr_), b(localr_));
    }
    
    private static double a(f.r_ paramr_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      f.m_ localm_ = new f.m_();
      f.c(paramr_, localm_);
      double d = localm_.b + localm_.d;
      Iterator localIterator = paramr_.l().iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        f.n_ localn_ = (f.n_)localIterator.next();
        if (i == 0)
        {
          if (bool) {
            break label92;
          }
          d += a(localn_);
        }
      } while (!bool);
      label92:
      return d;
    }
    
    private static double a(f.n_ paramn_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      List localList = paramn_.l();
      if (localList.isEmpty()) {
        return paramn_.f();
      }
      double d = 0.0D;
      u localu = paramn_.i();
      if (localu != null) {
        d += localu.c + localu.e;
      }
      Iterator localIterator = localList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        f.n_ localn_ = (f.n_)localIterator.next();
        if (i == 0)
        {
          if (bool) {
            break label116;
          }
          d += a(localn_);
        }
      } while (!bool);
      label116:
      return d;
    }
    
    private static double b(f.r_ paramr_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      f.m_ localm_ = new f.m_();
      f.a(paramr_, localm_);
      double d = localm_.a + localm_.c;
      Iterator localIterator = paramr_.o().iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        f.p_ localp_ = (f.p_)localIterator.next();
        if (i == 0)
        {
          if (bool) {
            break label92;
          }
          d += a(localp_);
        }
      } while (!bool);
      label92:
      return d;
    }
    
    private static double a(f.p_ paramp_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      List localList = paramp_.o();
      if (localList.isEmpty()) {
        return paramp_.f();
      }
      double d = 0.0D;
      u localu = paramp_.i();
      if (localu != null) {
        d += localu.b + localu.d;
      }
      Iterator localIterator = localList.iterator();
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        f.p_ localp_ = (f.p_)localIterator.next();
        if (i == 0)
        {
          if (bool) {
            break label116;
          }
          d += a(localp_);
        }
      } while (!bool);
      label116:
      return d;
    }
    
    public s b(ld paramld)
    {
      return new s((1.0D / 0.0D), (1.0D / 0.0D));
    }
    
    private static void a(f paramf, Rectangle2D paramRectangle2D)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      label604:
      label607:
      if ((i != 0) || (paramf.Fb != null))
      {
        double d1 = paramf.c();
        double d2 = paramf.d();
        double d3 = paramf.a();
        double d4 = paramf.b();
        double d5 = d3 + d1;
        double d6 = d4 + d2;
        double d7 = paramRectangle2D.getWidth();
        double d8 = paramRectangle2D.getHeight();
        double d9 = paramRectangle2D.getX();
        double d10 = d9 + d7;
        double d11 = paramRectangle2D.getY();
        double d12 = d11 + d8;
        double d13 = d1 - d7;
        double d14 = d2 - d8;
        f.r_ localr_ = paramf.eb();
        List localList;
        double d15;
        double d16;
        if (i == 0) {
          if (d13 != 0.0D)
          {
            localList = localr_.l();
            if (i == 0)
            {
              if (Math.abs(d9 - d3) > Math.abs(d10 - d5))
              {
                if (i == 0)
                {
                  if (d13 > 0.0D)
                  {
                    d15 = a(localr_);
                    if (i == 0)
                    {
                      if (d15 > d7)
                      {
                        d16 = d1 - d15;
                        if (i != 0) {
                          break label367;
                        }
                        if (d16 <= 0.0D) {
                          break label363;
                        }
                        a(d16, localList, true);
                        if (i != 0) {
                          break label367;
                        }
                        if (!bool) {
                          break label363;
                        }
                      }
                      a(d13, localList, true);
                    }
                    if (i != 0) {
                      break label367;
                    }
                    if (!bool) {
                      break label363;
                    }
                  }
                  c(-d13, localList, true);
                }
                if (i != 0) {
                  break label367;
                }
                if (!bool) {
                  break label363;
                }
              }
              if (i != 0) {}
            }
            else if (d13 > 0.0D)
            {
              d15 = a(localr_);
              if (i == 0)
              {
                if (d15 > d7)
                {
                  d16 = d1 - d15;
                  if (i != 0) {
                    break label367;
                  }
                  if (d16 <= 0.0D) {
                    break label363;
                  }
                  a(d16, localList, false);
                  if (i != 0) {
                    break label367;
                  }
                  if (!bool) {
                    break label363;
                  }
                }
                a(d13, localList, false);
              }
              if (i != 0) {
                break label367;
              }
              if (!bool) {
                break label363;
              }
            }
            c(-d13, localList, false);
          }
        }
        label363:
        if (d14 != 0.0D)
        {
          label367:
          localList = localr_.o();
          if (i == 0) {
            if (Math.abs(d11 - d4) > Math.abs(d12 - d6))
            {
              if (i == 0) {
                if (d14 > 0.0D)
                {
                  d15 = b(localr_);
                  if (i == 0) {
                    if (d15 > d8)
                    {
                      d16 = d2 - d15;
                      if (i == 0)
                      {
                        if (d16 <= 0.0D) {
                          return;
                        }
                        a(d16, localList, true);
                      }
                      if (i == 0) {
                        if (!bool) {
                          return;
                        }
                      }
                    }
                    else
                    {
                      a(d14, localList, true);
                    }
                  }
                  if (i == 0) {
                    if (!bool) {
                      return;
                    }
                  }
                }
                else
                {
                  c(-d14, localList, true);
                }
              }
              if (i == 0) {
                if (!bool) {
                  return;
                }
              }
            }
            else
            {
              if (i != 0) {
                break label607;
              }
            }
          }
          if (d14 > 0.0D)
          {
            d15 = b(localr_);
            if (i == 0) {
              if (d15 > d8)
              {
                d16 = d2 - d15;
                if (i == 0)
                {
                  if (d16 <= 0.0D) {
                    return;
                  }
                  a(d16, localList, false);
                }
                if (i == 0) {
                  if (!bool) {
                    return;
                  }
                }
              }
              else
              {
                if (i != 0) {
                  break label604;
                }
                a(d14, localList, false);
              }
            }
            if (!bool) {
              return;
            }
          }
          c(-d14, localList, false);
        }
      }
    }
    
    private static void a(double paramDouble, List paramList, boolean paramBoolean)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if (i == 0) {}
      f.j_ localj_ = (f.j_)paramList.get(paramBoolean ? 0 : paramList.size() - 1);
      if (localj_ != null) {
        localj_.e(localj_.q() + paramDouble);
      }
      while (i != 0)
      {
        List localList = localj_.b;
        if (i == 0) {
          if (localList.isEmpty())
          {
            localj_ = null;
            break;
          }
        }
        if (i == 0) {}
        localj_ = (f.j_)localList.get(paramBoolean ? 0 : localList.size() - 1);
        if (!bool) {
          break;
        }
      }
    }
    
    private static double c(double paramDouble, List paramList, boolean paramBoolean)
    {
      double d1 = paramDouble;
      double d2 = 0.0D;
      Object localObject;
      double d3;
      if (paramBoolean)
      {
        localObject = paramList.iterator();
        do
        {
          if (!((Iterator)localObject).hasNext()) {
            break;
          }
          d3 = a(d1, (f.j_)((Iterator)localObject).next(), paramBoolean);
          d1 -= d3;
          d2 += d3;
        } while (d2 < paramDouble);
      }
      else
      {
        localObject = paramList.listIterator(paramList.size());
        while (((ListIterator)localObject).hasPrevious())
        {
          d3 = a(d1, (f.j_)((ListIterator)localObject).previous(), paramBoolean);
          d1 -= d3;
          d2 += d3;
          if (d2 >= paramDouble) {
            break;
          }
        }
      }
      return Math.min(paramDouble, d2);
    }
    
    private static double a(double paramDouble, f.j_ paramj_, boolean paramBoolean)
    {
      List localList = paramj_.b;
      double d1 = localList.isEmpty() ? paramDouble : c(paramDouble, localList, paramBoolean);
      double d2 = paramj_.q();
      paramj_.e(d2 - d1);
      return d2 - paramj_.q();
    }
    
    c_(f.0 param0)
    {
      this();
    }
  }
  
  private static final class s_
    extends a.j.a.c
  {
    private static final u d = new u(0.0D, 0.0D, 0.0D, 0.0D);
    
    private s_() {}
    
    public u d(ld paramld)
    {
      if ((f.Wb != 0) || ((paramld instanceof f)))
      {
        f localf = (f)paramld;
        f.m_ localm_ = new f.m_();
        localf.c(localm_);
        localf.a(localm_);
        return new u(localm_.a, localm_.b, localm_.c, localm_.d);
      }
      return d;
    }
    
    public void e(ld paramld)
    {
      int j = f.Wb;
      if ((j != 0) || ((paramld instanceof n)))
      {
        n localn = (n)paramld;
        if (j == 0)
        {
          if (!localn.U()) {
            return;
          }
          localn.f(false);
        }
        if (j == 0) {
          if (!localn.h())
          {
            if (j != 0) {
              break label206;
            }
            if (!o(localn)) {
              break label204;
            }
          }
        }
        if ((j != 0) || (a()))
        {
          Object localObject = h(localn);
          double[] arrayOfDouble = { ((Dimension2D)localObject).getWidth(), ((Dimension2D)localObject).getHeight() };
          a(paramld, arrayOfDouble);
          double d1 = localn.c();
          int i = 0;
          if (j == 0) {
            if (d1 < arrayOfDouble[0])
            {
              d1 = arrayOfDouble[0];
              i = 1;
            }
          }
          double d2 = localn.d();
          if (j == 0) {
            if (d2 < arrayOfDouble[1])
            {
              d2 = arrayOfDouble[1];
              i = 1;
            }
          }
          if (j == 0)
          {
            if (i != 0) {
              localn.a(localn.a(), localn.b(), d1, d2);
            }
          }
          else if (f.Vb)
          {
            label204:
            label206:
            localObject = g(paramld);
            arrayOfDouble = new double[] { ((Rectangle2D)localObject).getWidth(), ((Rectangle2D)localObject).getHeight() };
            a(paramld, arrayOfDouble);
            paramld.a(((Rectangle2D)localObject).getX(), ((Rectangle2D)localObject).getY(), arrayOfDouble[0], arrayOfDouble[1]);
          }
        }
      }
    }
    
    private void a(ld paramld, double[] paramArrayOfDouble)
    {
      int i = f.Wb;
      qe localqe = paramld.L();
      if ((i != 0) || (localqe != null))
      {
        s locals = localqe.k();
        if (i == 0) {
          if (paramArrayOfDouble[0] >= locals.a)
          {
            if (i == 0) {
              if (paramArrayOfDouble[1] >= locals.b) {
                return;
              }
            }
          }
          else {
            paramArrayOfDouble[0] = Math.max(paramArrayOfDouble[0], locals.a);
          }
        }
        paramArrayOfDouble[1] = Math.max(paramArrayOfDouble[1], locals.b);
      }
    }
    
    private boolean o(ld paramld)
    {
      int i = f.Wb;
      j localj = k(paramld);
      if ((i != 0) || (localj != null)) {
        if (i != 0) {
          break label39;
        }
      }
      label39:
      return !localj.r(paramld.n()).e();
    }
    
    s_(f.0 param0)
    {
      this();
    }
  }
  
  private final class k_
    extends f.j_
    implements f.p_
  {
    private f.q_ c;
    
    k_(double paramDouble1, double paramDouble2, u paramu)
    {
      this(null, paramDouble1, paramDouble2, paramu);
    }
    
    k_(f.q_ paramq_, double paramDouble1, double paramDouble2, u paramu)
    {
      super(paramDouble2, paramu);
      this.c = paramq_;
    }
    
    k_(k_ paramk_)
    {
      super();
      Iterator localIterator = paramk_.b.iterator();
      if (localIterator.hasNext()) {}
      while (i != 0)
      {
        k_ localk_ = new k_(f.this, (k_)localIterator.next());
        localk_.c = this;
        this.b.add(localk_);
        if ((i == 0) && (bool)) {
          return;
        }
        if (!bool) {
          break;
        }
      }
      this.c = null;
    }
    
    f r()
    {
      return f.this;
    }
    
    public void a(double paramDouble)
    {
      d(paramDouble);
    }
    
    public double f()
    {
      return p();
    }
    
    public void b(double paramDouble)
    {
      e(paramDouble);
    }
    
    public double g()
    {
      return q();
    }
    
    double c(u paramu)
    {
      return paramu.b + paramu.d;
    }
    
    public Rectangle2D h()
    {
      return f.this.c(this);
    }
    
    public f.p_ m()
    {
      return d(this.b.size());
    }
    
    public f.p_ d(int paramInt)
    {
      int i = f.Wb;
      boolean bool2 = f.Vb;
      boolean bool1 = f.this.qb();
      if (bool1) {
        f.this.h(false);
      }
      try
      {
        k_ localk_ = new k_(f.this, f.this.ib(), f.this.jb(), f.this.kb());
        f.m_ localm_ = new f.m_();
        f.this.c(localm_);
        double d1 = f.this.db();
        double d2 = q();
        u localu = i();
        if (localu != null) {
          d2 -= localu.b + localu.d;
        }
        if (i == 0)
        {
          if (this.b.isEmpty())
          {
            if (i != 0) {
              break label274;
            }
            if (localk_.g() <= d2) {
              break label273;
            }
          }
          if (i != 0) {
            break label183;
          }
        }
        label183:
        double d3 = this.b.isEmpty() ? localk_.g() - d2 : localk_.g();
        Object localObject1 = this;
        do
        {
          if (!(localObject1 instanceof f.p_)) {
            break;
          }
          localObject2 = (f.p_)localObject1;
          ((f.p_)localObject2).b(((f.p_)localObject2).g() + d3);
          localObject1 = ((f.p_)localObject2).a();
          if (i != 0) {
            break label270;
          }
          if (bool2) {
            break label268;
          }
        } while (!bool2);
        this.b.add(paramInt, localk_);
        if (i == 0)
        {
          localk_.c = this;
          label268:
          if (bool2)
          {
            label270:
            label273:
            label274:
            d3 = 0.0D;
            localk_.b(d2);
            this.b.add(paramInt, localk_);
          }
        }
        else
        {
          localk_.c = this;
        }
        localObject1 = new f.m_();
        f.this.c((f.m_)localObject1);
        f.this.j(r().c() + ((f.m_)localObject1).b - localm_.b + ((f.m_)localObject1).d - localm_.d, d1 + d3);
        Object localObject2 = localk_;
        return localObject2;
      }
      finally
      {
        if (bool1) {
          f.this.h(bool1);
        }
      }
    }
    
    public void c()
    {
      int i = f.Wb;
      f.q_ localq_ = a();
      if (localq_ == null) {
        throw new IllegalStateException("Parent container is null.");
      }
      f.b_ localb_ = j();
      if ((i != 0) || (localb_ == localq_))
      {
        if (i == 0) {
          if (f.b_.access$600(localb_).size() <= 1)
          {
            if (i == 0) {
              if (n() <= 0) {
                break label84;
              }
            }
          }
          else {
            f.this.a(localb_, f.b_.access$600(localb_), this);
          }
        }
        if (f.Vb) {
          label84:
          throw new IllegalStateException("Sole row in table.");
        }
      }
      else
      {
        f.this.a(localb_, ((k_)localq_).b, this);
      }
    }
    
    public f.p_ e(int paramInt)
    {
      return (f.p_)this.b.get(paramInt);
    }
    
    public int n()
    {
      return this.b.size();
    }
    
    private f.b_ j()
    {
      return r().Fb;
    }
    
    public List o()
    {
      return this.d;
    }
    
    public f.q_ a()
    {
      return this.c;
    }
    
    public void a(f.q_ paramq_)
    {
      int i = f.Wb;
      d(paramq_);
      boolean bool = f.this.qb();
      if (i == 0) {
        if (bool) {
          f.this.h(false);
        }
      }
      try
      {
        c(paramq_);
        if (i != 0) {}
      }
      finally
      {
        if (bool) {
          f.this.h(bool);
        }
      }
    }
    
    private void c(f.q_ paramq_)
    {
      int k = f.Wb;
      boolean bool = f.Vb;
      f.m_ localm_ = new f.m_();
      f.this.c(localm_);
      double d1 = 0.0D;
      double d2 = 0.0D;
      label157:
      double d7;
      label240:
      Object localObject3;
      Object localObject4;
      if (k == 0)
      {
        if ((this.c instanceof f.b_))
        {
          if (k != 0) {
            break label492;
          }
          f.b_.access$600((f.b_)this.c).remove(this);
          if (!bool) {}
        }
        else
        {
          if (k != 0) {
            break label492;
          }
        }
      }
      else if ((this.c instanceof k_))
      {
        localObject1 = (k_)this.c;
        int i = b();
        ((k_)localObject1).b.remove(i);
        if (k == 0) {
          if (((k_)localObject1).b.isEmpty())
          {
            if (k != 0) {
              break label157;
            }
            d2 += q();
            if (!bool) {
              break label486;
            }
          }
        }
        double d4 = q();
        f.q_ localq_ = this.c;
        do
        {
          if (!(localq_ instanceof f.p_)) {
            break;
          }
          f.p_ localp_2 = (f.p_)localq_;
          d7 = localp_2.g() - localp_2.f();
          if (bool) {
            break label240;
          }
          if (d4 > d7) {
            d4 = d7;
          }
          localq_ = localp_2.a();
        } while (!bool);
        if (k == 0)
        {
          if (d4 < q())
          {
            double d6 = q() - d4;
            d2 += d6;
            if (k == 0) {}
            int j = ((k_)localObject1).b.size() == i ? 1 : 0;
            if (k == 0) {}
            localObject3 = (f.p_)((k_)localObject1).b.get(j != 0 ? i - 1 : i);
            do
            {
              for (;;)
              {
                if (localObject3 == null) {
                  break label412;
                }
                ((f.p_)localObject3).b(((f.p_)localObject3).g() + d6);
                localObject4 = ((f.p_)localObject3).o();
                if (bool) {
                  break label421;
                }
                if (!((List)localObject4).isEmpty()) {
                  break;
                }
                localObject3 = null;
              }
              if (k == 0) {}
              localObject3 = (f.p_)((List)localObject4).get(j != 0 ? ((List)localObject4).size() - 1 : 0);
            } while (!bool);
          }
          label412:
          if (k != 0) {
            break label598;
          }
        }
        if (d4 > 0.0D)
        {
          label421:
          localq_ = this.c;
          do
          {
            if (!(localq_ instanceof f.p_)) {
              break;
            }
            f.p_ localp_3 = (f.p_)localq_;
            localp_3.b(localp_3.g() - d4);
            localq_ = localp_3.a();
            if (k != 0) {
              break label503;
            }
            if (bool) {
              break label496;
            }
          } while (!bool);
        }
      }
      label486:
      if (k == 0) {
        label492:
        this.c = paramq_;
      }
      label496:
      label503:
      if (k == 0) {
        if ((this.c instanceof f.b_)) {
          f.b_.access$600((f.b_)this.c).add(this);
        }
      }
      if ((k != 0) || ((bool) && ((k != 0) || ((this.c instanceof k_)))))
      {
        localObject1 = (k_)this.c;
        ((k_)localObject1).b.add(this);
        if (k == 0) {
          if (((k_)localObject1).b.size() == 1)
          {
            label598:
            double d3 = ((k_)localObject1).g();
            u localu = ((k_)localObject1).i();
            d3 -= localu.b + localu.d;
            double d5 = q();
            if (k == 0) {
              if (d5 < d3)
              {
                e(d3);
                d2 -= d5;
                if ((k == 0) && (!bool)) {
                  break label838;
                }
              }
            }
            if (k == 0)
            {
              if (d5 > d3)
              {
                d7 = d5 - d3;
                localObject3 = localObject1;
                do
                {
                  if (!(localObject3 instanceof f.p_)) {
                    break;
                  }
                  localObject4 = (f.p_)localObject3;
                  ((f.p_)localObject4).b(((f.p_)localObject4).g() + d7);
                  localObject3 = ((f.p_)localObject4).a();
                  if (k != 0) {
                    break label766;
                  }
                  if (bool) {
                    break label764;
                  }
                } while (!bool);
                d2 -= d5;
                if (k != 0) {
                  break label779;
                }
                d2 += d7;
                label764:
                label766:
                if (k != 0) {
                  break label783;
                }
                if (!bool) {
                  break label838;
                }
              }
              label779:
              d2 -= d5;
            }
            label783:
            if (!bool) {
              break label838;
            }
          }
        }
        Object localObject2 = localObject1;
        do
        {
          if (!(localObject2 instanceof f.p_)) {
            break;
          }
          f.p_ localp_1 = (f.p_)localObject2;
          localp_1.b(localp_1.g() + q());
          localObject2 = localp_1.a();
        } while (!bool);
      }
      label838:
      Object localObject1 = new f.m_();
      f.this.c((f.m_)localObject1);
      if (k == 0) {
        if (((f.m_)localObject1).b == localm_.b)
        {
          if (k != 0) {
            break label920;
          }
          if (((f.m_)localObject1).d == localm_.d) {
            break label916;
          }
        }
      }
      d1 += ((f.m_)localObject1).b - localm_.b + (((f.m_)localObject1).d - localm_.d);
      label916:
      label920:
      if (k == 0) {
        if (d2 == 0.0D)
        {
          if (k == 0) {
            if (d1 == 0.0D) {
              break label989;
            }
          }
        }
        else
        {
          if (k != 0) {
            break label993;
          }
          f.this.d(r().a(), r().b(), r().c() + d1, r().d() + d2);
        }
      }
      if (bool) {
        label989:
        label993:
        f.this.pb();
      }
    }
    
    private void d(f.q_ paramq_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if (i == 0) {
        if (this.c == null) {
          throw new IllegalStateException("Old parent is null.");
        }
      }
      if (i == 0) {
        if (paramq_ == null) {
          throw new IllegalArgumentException("New parent is null.");
        }
      }
      f.q_ localq_ = paramq_;
      do
      {
        do
        {
          if (!(localq_ instanceof f.p_)) {
            break;
          }
          if (bool) {
            break label99;
          }
          if (localq_ == this) {
            throw new IllegalArgumentException("New parent is descendant of row.");
          }
          localq_ = ((f.p_)localq_).a();
        } while (!bool);
      } while (i != 0);
      label99:
      if (localq_ != j()) {
        throw new IllegalArgumentException("Parent does not belong to table.");
      }
    }
    
    public int b()
    {
      int i = f.Wb;
      if (i == 0) {
        if (this.c == null) {
          return -1;
        }
      }
      f.b_ localb_ = j();
      if (i == 0) {}
      List localList = localb_ == this.c ? f.b_.access$600(localb_) : ((k_)this.c).b;
      return localList.indexOf(this);
    }
    
    public void a(int paramInt)
    {
      int j = f.Wb;
      if (j == 0) {
        if (this.c == null) {
          throw new IllegalStateException("Parent container is null.");
        }
      }
      int i = b();
      if (i != paramInt)
      {
        f.b_ localb_ = j();
        if (j == 0) {}
        List localList = localb_ == this.c ? f.b_.access$600(localb_) : ((k_)this.c).b;
        localList.remove(i);
        localList.add(paramInt, this);
        f.this.pb();
      }
    }
    
    public bb d()
    {
      bb localbb = new bb();
      if ((f.Wb != 0) || (this.b.isEmpty())) {
        f.this.a(h(), localbb);
      }
      return localbb;
    }
  }
  
  private final class l_
    extends f.j_
    implements f.n_
  {
    private f.o_ c;
    
    l_(double paramDouble1, double paramDouble2, u paramu)
    {
      this(null, paramDouble1, paramDouble2, paramu);
    }
    
    l_(f.o_ paramo_, double paramDouble1, double paramDouble2, u paramu)
    {
      super(paramDouble2, paramu);
      this.c = paramo_;
    }
    
    l_(l_ paraml_)
    {
      super();
      Iterator localIterator = paraml_.b.iterator();
      if (localIterator.hasNext()) {}
      while (i != 0)
      {
        l_ locall_ = new l_(f.this, (l_)localIterator.next());
        locall_.c = this;
        this.b.add(locall_);
        if ((i == 0) && (bool)) {
          return;
        }
        if (!bool) {
          break;
        }
      }
      this.c = null;
    }
    
    f r()
    {
      return f.this;
    }
    
    public void a(double paramDouble)
    {
      d(paramDouble);
    }
    
    public double f()
    {
      return p();
    }
    
    public void b(double paramDouble)
    {
      e(paramDouble);
    }
    
    public double g()
    {
      return q();
    }
    
    double c(u paramu)
    {
      return paramu.c + paramu.e;
    }
    
    public Rectangle2D h()
    {
      return f.this.c(this);
    }
    
    public f.n_ j()
    {
      return b(this.b.size());
    }
    
    public f.n_ b(int paramInt)
    {
      int i = f.Wb;
      boolean bool2 = f.Vb;
      boolean bool1 = f.this.qb();
      if (bool1) {
        f.this.h(false);
      }
      try
      {
        l_ locall_ = new l_(f.this, f.this.fb(), f.this.gb(), f.this.hb());
        f.m_ localm_ = new f.m_();
        f.this.a(localm_);
        double d1 = f.this.cb();
        double d2 = q();
        u localu = i();
        if (localu != null) {
          d2 -= localu.c + localu.e;
        }
        if (i == 0)
        {
          if (this.b.isEmpty())
          {
            if (i != 0) {
              break label274;
            }
            if (locall_.g() <= d2) {
              break label273;
            }
          }
          if (i != 0) {
            break label183;
          }
        }
        label183:
        double d3 = this.b.isEmpty() ? locall_.g() - d2 : locall_.g();
        Object localObject1 = this;
        do
        {
          if (!(localObject1 instanceof f.n_)) {
            break;
          }
          localObject2 = (f.n_)localObject1;
          ((f.n_)localObject2).b(((f.n_)localObject2).g() + d3);
          localObject1 = ((f.n_)localObject2).a();
          if (i != 0) {
            break label270;
          }
          if (bool2) {
            break label268;
          }
        } while (!bool2);
        this.b.add(paramInt, locall_);
        if (i == 0)
        {
          locall_.c = this;
          label268:
          if (bool2)
          {
            label270:
            label273:
            label274:
            d3 = 0.0D;
            locall_.b(d2);
            this.b.add(paramInt, locall_);
          }
        }
        else
        {
          locall_.c = this;
        }
        localObject1 = new f.m_();
        f.this.a((f.m_)localObject1);
        f.this.j(d1 + d3, r().d() + ((f.m_)localObject1).a - localm_.a + ((f.m_)localObject1).c - localm_.c);
        Object localObject2 = locall_;
        if (bool1) {
          f.this.h(bool1);
        }
        if ((i != 0) || (q.n))
        {
          if (i == 0) {}
          f.Vb = !bool2;
        }
        if (q.o) {
          f.Wb = ++i;
        }
        return localObject2;
      }
      finally
      {
        if (bool1) {
          f.this.h(bool1);
        }
      }
    }
    
    public void c()
    {
      int i = f.Wb;
      if (i == 0) {
        if (this.c == null) {
          throw new IllegalStateException("Parent container is null.");
        }
      }
      f.b_ localb_ = m();
      if ((i != 0) || (localb_ == this.c))
      {
        if (i == 0) {
          if (f.b_.access$800(localb_).size() <= 1)
          {
            if (i == 0) {
              if (k() <= 0) {
                break label89;
              }
            }
          }
          else {
            f.this.a(localb_, f.b_.access$800(localb_), this);
          }
        }
        if (f.Vb) {
          label89:
          throw new IllegalStateException("Sole column in table.");
        }
      }
      else
      {
        f.this.a(localb_, ((l_)this.c).b, this);
      }
    }
    
    public f.n_ c(int paramInt)
    {
      return (f.n_)this.b.get(paramInt);
    }
    
    public int k()
    {
      return this.b.size();
    }
    
    private f.b_ m()
    {
      return r().Fb;
    }
    
    public List l()
    {
      return this.d;
    }
    
    public f.o_ a()
    {
      return this.c;
    }
    
    public void a(f.o_ paramo_)
    {
      int i = f.Wb;
      c(paramo_);
      boolean bool = f.this.qb();
      if (i == 0) {
        if (bool) {
          f.this.h(false);
        }
      }
      try
      {
        b(paramo_);
        if (i != 0) {}
      }
      finally
      {
        if (bool) {
          f.this.h(bool);
        }
      }
    }
    
    private void b(f.o_ paramo_)
    {
      int k = f.Wb;
      boolean bool = f.Vb;
      f.m_ localm_ = new f.m_();
      f.this.a(localm_);
      double d1 = 0.0D;
      double d2 = 0.0D;
      label155:
      double d7;
      label238:
      Object localObject3;
      Object localObject4;
      if (k == 0)
      {
        if ((this.c instanceof f.b_))
        {
          if (k != 0) {
            break label488;
          }
          f.b_.access$800((f.b_)this.c).remove(this);
          if (!bool) {}
        }
        else
        {
          if (k != 0) {
            break label488;
          }
        }
      }
      else if ((this.c instanceof l_))
      {
        localObject1 = (l_)this.c;
        int i = b();
        ((l_)localObject1).b.remove(i);
        if (k == 0) {
          if (((l_)localObject1).b.isEmpty())
          {
            if (k != 0) {
              break label155;
            }
            d1 += q();
            if (!bool) {
              break label482;
            }
          }
        }
        double d4 = q();
        f.o_ localo_ = this.c;
        do
        {
          if (!(localo_ instanceof f.n_)) {
            break;
          }
          f.n_ localn_2 = (f.n_)localo_;
          d7 = localn_2.g() - localn_2.f();
          if (bool) {
            break label238;
          }
          if (d4 > d7) {
            d4 = d7;
          }
          localo_ = localn_2.a();
        } while (!bool);
        if (k == 0)
        {
          if (d4 < q())
          {
            double d6 = q() - d4;
            d1 += d6;
            if (k == 0) {}
            int j = ((l_)localObject1).b.size() == i ? 1 : 0;
            if (k == 0) {}
            localObject3 = (f.n_)((l_)localObject1).b.get(j != 0 ? i - 1 : i);
            do
            {
              for (;;)
              {
                if (localObject3 == null) {
                  break label408;
                }
                ((f.n_)localObject3).b(((f.n_)localObject3).g() + d6);
                localObject4 = ((f.n_)localObject3).l();
                if (bool) {
                  break label417;
                }
                if (!((List)localObject4).isEmpty()) {
                  break;
                }
                localObject3 = null;
              }
              if (k == 0) {}
              localObject3 = (f.n_)((List)localObject4).get(j != 0 ? ((List)localObject4).size() - 1 : 0);
            } while (!bool);
          }
          label408:
          if (k != 0) {
            break label594;
          }
        }
        if (d4 > 0.0D)
        {
          label417:
          localo_ = this.c;
          do
          {
            if (!(localo_ instanceof f.n_)) {
              break;
            }
            f.n_ localn_3 = (f.n_)localo_;
            localn_3.b(localn_3.g() - d4);
            localo_ = localn_3.a();
            if (k != 0) {
              break label499;
            }
            if (bool) {
              break label492;
            }
          } while (!bool);
        }
      }
      label482:
      if (k == 0) {
        label488:
        this.c = paramo_;
      }
      label492:
      label499:
      if (k == 0) {
        if ((this.c instanceof f.b_)) {
          f.b_.access$800((f.b_)this.c).add(this);
        }
      }
      if ((k != 0) || ((bool) && ((k != 0) || ((this.c instanceof l_)))))
      {
        localObject1 = (l_)this.c;
        ((l_)localObject1).b.add(this);
        if (k == 0) {
          if (((l_)localObject1).b.size() == 1)
          {
            label594:
            double d3 = ((l_)localObject1).g();
            u localu = ((l_)localObject1).i();
            d3 -= localu.c + localu.e;
            double d5 = q();
            if (k == 0) {
              if (d5 < d3)
              {
                e(d3);
                d1 -= d5;
                if ((k == 0) && (!bool)) {
                  break label826;
                }
              }
            }
            if (k == 0)
            {
              if (d5 > d3)
              {
                d7 = d5 - d3;
                localObject3 = localObject1;
                do
                {
                  if (!(localObject3 instanceof f.n_)) {
                    break;
                  }
                  localObject4 = (f.n_)localObject3;
                  ((f.n_)localObject4).b(((f.n_)localObject4).g() + d7);
                  localObject3 = ((f.n_)localObject4).a();
                  if (k != 0) {
                    break label756;
                  }
                  if (bool) {
                    break label754;
                  }
                } while (!bool);
                d1 -= d5;
                if (k != 0) {
                  break label768;
                }
                d1 += d7;
                label754:
                label756:
                if (k != 0) {
                  break label771;
                }
                if (!bool) {
                  break label826;
                }
              }
              label768:
              d1 -= d5;
            }
            label771:
            if (!bool) {
              break label826;
            }
          }
        }
        Object localObject2 = localObject1;
        do
        {
          if (!(localObject2 instanceof f.n_)) {
            break;
          }
          f.n_ localn_1 = (f.n_)localObject2;
          localn_1.b(localn_1.g() + q());
          localObject2 = localn_1.a();
        } while (!bool);
      }
      label826:
      Object localObject1 = new f.m_();
      f.this.a((f.m_)localObject1);
      if (k == 0) {
        if (((f.m_)localObject1).a == localm_.a)
        {
          if (k != 0) {
            break label910;
          }
          if (((f.m_)localObject1).c == localm_.c) {
            break label906;
          }
        }
      }
      d2 += ((f.m_)localObject1).a - localm_.a + (((f.m_)localObject1).c - localm_.c);
      label906:
      label910:
      if (k == 0) {
        if (d2 == 0.0D)
        {
          if (k == 0) {
            if (d1 == 0.0D) {
              break label979;
            }
          }
        }
        else
        {
          if (k != 0) {
            break label983;
          }
          f.this.d(r().a(), r().b(), r().c() + d1, r().d() + d2);
        }
      }
      if (bool) {
        label979:
        label983:
        f.this.pb();
      }
    }
    
    private void c(f.o_ paramo_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if (i == 0) {
        if (this.c == null) {
          throw new IllegalStateException("Old parent is null.");
        }
      }
      if (i == 0) {
        if (paramo_ == null) {
          throw new IllegalArgumentException("New parent is null.");
        }
      }
      f.o_ localo_ = paramo_;
      do
      {
        do
        {
          if (!(localo_ instanceof f.n_)) {
            break;
          }
          if (bool) {
            break label99;
          }
          if (localo_ == this) {
            throw new IllegalArgumentException("New parent is descendant of column.");
          }
          localo_ = ((f.n_)localo_).a();
        } while (!bool);
      } while (i != 0);
      label99:
      if (localo_ != m()) {
        throw new IllegalArgumentException("Parent does not belong to table.");
      }
    }
    
    public int b()
    {
      int i = f.Wb;
      if (i == 0) {
        if (this.c == null) {
          return -1;
        }
      }
      f.b_ localb_ = m();
      if (i == 0) {}
      List localList = localb_ == this.c ? f.b_.access$800(localb_) : ((l_)this.c).b;
      return localList.indexOf(this);
    }
    
    public void a(int paramInt)
    {
      int j = f.Wb;
      if (j == 0) {
        if (this.c == null) {
          throw new IllegalStateException("Parent container is null.");
        }
      }
      int i = b();
      if (i != paramInt)
      {
        f.b_ localb_ = m();
        if (j == 0) {}
        List localList = localb_ == this.c ? f.b_.access$800(localb_) : ((l_)this.c).b;
        localList.remove(i);
        localList.add(paramInt, this);
        f.this.pb();
      }
    }
    
    public bb d()
    {
      bb localbb = new bb();
      if ((f.Wb != 0) || (this.b.isEmpty())) {
        f.this.a(h(), localbb);
      }
      return localbb;
    }
  }
  
  private static abstract class j_
  {
    final Object a;
    final List b;
    final List d;
    private boolean e;
    private double f;
    private double g;
    private u h;
    
    j_(double paramDouble1, double paramDouble2, u paramu)
    {
      this.a = new Object();
      this.b = new ArrayList();
      this.d = Collections.unmodifiableList(this.b);
      if (f.Wb == 0) {}
      this.h = (paramu == null ? f.Eb : paramu);
      this.f = paramDouble2;
      this.g = Math.max(Math.max(paramDouble1, paramDouble2), c(this.h));
    }
    
    j_(j_ paramj_)
    {
      this.a = paramj_.a;
      this.b = new ArrayList(paramj_.b.size());
      this.d = Collections.unmodifiableList(this.b);
      this.f = paramj_.f;
      this.g = paramj_.g;
      this.e = paramj_.e;
      this.h = paramj_.h;
    }
    
    void d(double paramDouble)
    {
      int i = f.Wb;
      if (i == 0)
      {
        if (paramDouble <= 0.0D) {
          return;
        }
        this.f = paramDouble;
        if (i != 0) {}
      }
      else
      {
        if (this.g >= paramDouble) {
          return;
        }
        this.g = paramDouble;
      }
      r().pb();
    }
    
    double p()
    {
      return this.f;
    }
    
    void e(double paramDouble)
    {
      double d1 = Math.max(paramDouble, Math.max(c(this.h), this.f));
      if (f.Wb == 0)
      {
        if (this.g != d1) {
          this.g = d1;
        }
      }
      else {
        r().pb();
      }
    }
    
    double q()
    {
      return this.g;
    }
    
    public void a(u paramu)
    {
      int i = f.Wb;
      if (paramu == null)
      {
        this.h = f.Eb;
        if (i != 0) {
          break label44;
        }
        if (!f.Vb) {}
      }
      else
      {
        this.h = paramu;
      }
      if ((i != 0) || (this.g < c(paramu))) {
        label44:
        this.g = c(paramu);
      }
    }
    
    public u i()
    {
      return this.h;
    }
    
    abstract double c(u paramu);
    
    public boolean e()
    {
      return this.e;
    }
    
    public void a(boolean paramBoolean)
    {
      this.e = paramBoolean;
    }
    
    public abstract Rectangle2D h();
    
    abstract f r();
  }
  
  private final class b_
    implements f.r_
  {
    private final List a;
    private final List b;
    private final List c;
    private final List d;
    private u e;
    
    b_(double paramDouble1, double paramDouble2, double paramDouble3, double paramDouble4, u paramu1, u paramu2)
    {
      this.a = new ArrayList();
      this.b = Collections.unmodifiableList(this.a);
      this.a.add(new f.k_(f.this, this, paramDouble2, paramDouble4, paramu2));
      this.c = new ArrayList();
      this.c.add(new f.l_(f.this, this, paramDouble1, paramDouble3, paramu1));
      this.d = Collections.unmodifiableList(this.c);
      this.e = f.Eb;
    }
    
    b_(b_ paramb_)
    {
      this.a = new ArrayList(paramb_.a.size());
      this.b = Collections.unmodifiableList(this.a);
      Iterator localIterator = paramb_.a.iterator();
      Object localObject;
      do
      {
        if (!localIterator.hasNext()) {
          break;
        }
        localObject = new f.k_(f.this, (f.k_)localIterator.next());
        if (i != 0) {
          break label162;
        }
        this.a.add(localObject);
        ((f.k_)localObject).c = this;
        if (bool) {
          break label158;
        }
      } while (!bool);
      this.c = new ArrayList(paramb_.c.size());
      if (i == 0)
      {
        this.d = Collections.unmodifiableList(this.c);
        label158:
        label162:
        localIterator = paramb_.c.iterator();
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          localObject = new f.l_(f.this, (f.l_)localIterator.next());
          this.c.add(localObject);
          ((f.l_)localObject).c = this;
          if ((i == 0) && (bool)) {
            return;
          }
        } while (!bool);
        if (i != 0) {}
      }
      else
      {
        this.e = paramb_.e;
      }
    }
    
    public f a()
    {
      return f.this;
    }
    
    public int n()
    {
      return this.a.size();
    }
    
    public f.p_ e(int paramInt)
    {
      return (f.p_)this.a.get(paramInt);
    }
    
    public f.p_ a(a.c.e parame)
    {
      f.this.b(parame);
      if ((f.Wb != 0) || (f.this.c(parame)))
      {
        ld localld = a().e(parame);
        return f.this.h(localld.A(), localld.B());
      }
      return null;
    }
    
    public f.p_ a(double paramDouble1, double paramDouble2)
    {
      return f.this.h(paramDouble1, paramDouble2);
    }
    
    public void a(a.c.e parame, f.p_ paramp_)
    {
      int i = f.Wb;
      f.this.b(parame);
      if (((i != 0) || (f.this.c(parame))) && ((i != 0) || (a(paramp_)))) {
        if ((i != 0) || (paramp_.o().isEmpty()))
        {
          boolean bool = f.this.qb();
          if (bool) {
            f.this.h(false);
          }
          try
          {
            Rectangle2D localRectangle2D = f.this.c(paramp_);
            g localg = (g)parame.g();
            double d1 = localg.m(parame);
            if (i == 0) {
              if (d1 < localRectangle2D.getMinX()) {
                d1 = localRectangle2D.getMinX();
              }
            }
            if (i == 0)
            {
              if (d1 > localRectangle2D.getMaxX()) {
                d1 = localRectangle2D.getMaxX();
              }
              localg.a(parame, d1, localRectangle2D.getCenterY());
              if (i != 0) {
                return;
              }
            }
          }
          finally
          {
            if (bool) {
              f.this.h(bool);
            }
          }
        }
        else
        {
          throw new IllegalArgumentException("row has child rows");
        }
      }
    }
    
    private boolean a(f.p_ paramp_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      f.q_ localq_ = paramp_.a();
      do
      {
        do
        {
          if (!(localq_ instanceof f.p_)) {
            break;
          }
          localq_ = ((f.p_)localq_).a();
          if ((i == 0) && (bool)) {
            break label60;
          }
        } while (!bool);
      } while (i != 0);
      label60:
      return localq_ == this;
    }
    
    public Collection b()
    {
      ArrayList localArrayList = new ArrayList();
      a(this.a, localArrayList);
      return localArrayList;
    }
    
    private void a(List paramList1, List paramList2)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      Iterator localIterator = paramList1.iterator();
      do
      {
        do
        {
          f.p_ localp_;
          do
          {
            if (!localIterator.hasNext()) {
              break;
            }
            localp_ = (f.p_)localIterator.next();
            if (i == 0) {
              if (localp_.e()) {
                paramList2.add(localp_);
              }
            }
          } while (localp_.o().isEmpty());
          a(localp_.o(), paramList2);
        } while (i != 0);
      } while (!bool);
    }
    
    public int k()
    {
      return this.c.size();
    }
    
    public f.n_ c(int paramInt)
    {
      return (f.n_)this.c.get(paramInt);
    }
    
    public f.n_ b(a.c.e parame)
    {
      f.this.b(parame);
      if ((f.Wb != 0) || (f.this.c(parame)))
      {
        ld localld = a().e(parame);
        return f.this.i(localld.A(), localld.B());
      }
      return null;
    }
    
    public f.n_ b(double paramDouble1, double paramDouble2)
    {
      return f.this.i(paramDouble1, paramDouble2);
    }
    
    public void a(a.c.e parame, f.n_ paramn_)
    {
      int i = f.Wb;
      f.this.b(parame);
      if (((i != 0) || (f.this.c(parame))) && ((i != 0) || (a(paramn_)))) {
        if ((i != 0) || (paramn_.l().isEmpty()))
        {
          boolean bool = f.this.qb();
          if (bool) {
            f.this.h(false);
          }
          try
          {
            Rectangle2D localRectangle2D = f.this.c(paramn_);
            g localg = (g)parame.g();
            double d1 = localg.n(parame);
            if (i == 0) {
              if (d1 < localRectangle2D.getMinY()) {
                d1 = localRectangle2D.getMinY();
              }
            }
            if (i == 0)
            {
              if (d1 > localRectangle2D.getMaxY()) {
                d1 = localRectangle2D.getMaxY();
              }
              localg.a(parame, localRectangle2D.getCenterX(), d1);
              if (i != 0) {
                return;
              }
            }
          }
          finally
          {
            if (bool) {
              f.this.h(bool);
            }
          }
        }
        else
        {
          throw new IllegalArgumentException("column has child columns");
        }
      }
    }
    
    private boolean a(f.n_ paramn_)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      f.o_ localo_ = paramn_.a();
      do
      {
        do
        {
          if (!(localo_ instanceof f.n_)) {
            break;
          }
          localo_ = ((f.n_)localo_).a();
          if ((i == 0) && (bool)) {
            break label60;
          }
        } while (!bool);
      } while (i != 0);
      label60:
      return localo_ == this;
    }
    
    public Collection c()
    {
      ArrayList localArrayList = new ArrayList();
      b(this.c, localArrayList);
      return localArrayList;
    }
    
    private void b(List paramList1, List paramList2)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      Iterator localIterator = paramList1.iterator();
      do
      {
        do
        {
          f.n_ localn_;
          do
          {
            if (!localIterator.hasNext()) {
              break;
            }
            localn_ = (f.n_)localIterator.next();
            if (i == 0) {
              if (localn_.e()) {
                paramList2.add(localn_);
              }
            }
          } while (localn_.l().isEmpty());
          b(localn_.l(), paramList2);
        } while (i != 0);
      } while (!bool);
    }
    
    public void a(u paramu)
    {
      int i = f.Wb;
      boolean bool = f.Vb;
      if (i == 0)
      {
        if (paramu == null)
        {
          if (i != 0) {
            break label38;
          }
          this.e = f.Eb;
        }
      }
      else {
        if (!bool) {
          break label41;
        }
      }
      label38:
      this.e = paramu;
      label41:
      f.m_ localm_ = new f.m_();
      f.this.c(localm_);
      f.this.a(localm_);
      double d1 = localm_.b + localm_.d;
      double d2 = localm_.a + localm_.c;
      Iterator localIterator = l().iterator();
      do
      {
        do
        {
          if (!localIterator.hasNext()) {
            break;
          }
          d1 += ((f.n_)localIterator.next()).g();
          if (i != 0) {
            break label163;
          }
          if (bool) {
            break label156;
          }
        } while (!bool);
      } while (i != 0);
      localIterator = o().iterator();
      label156:
      if (localIterator.hasNext()) {
        label163:
        d2 += ((f.p_)localIterator.next()).g();
      }
      for (;;)
      {
        if ((i != 0) || (!bool))
        {
          if (!bool) {
            break;
          }
          if (i == 0) {
            f.this.j(d1, d2);
          }
        }
      }
    }
    
    public u d()
    {
      return this.e;
    }
    
    public f.p_ m()
    {
      return d(this.a.size());
    }
    
    public f.p_ d(int paramInt)
    {
      boolean bool = f.this.qb();
      if (bool) {
        f.this.h(false);
      }
      try
      {
        f.m_ localm_1 = new f.m_();
        f.this.c(localm_1);
        double d1 = f.this.db();
        f.k_ localk_1 = new f.k_(f.this, f.this.ib(), f.this.jb(), f.this.kb());
        this.a.add(paramInt, localk_1);
        localk_1.c = this;
        f.m_ localm_2 = new f.m_();
        f.this.c(localm_2);
        f.this.j(a().c() + localm_2.b - localm_1.b + localm_2.d - localm_1.d, d1 + localk_1.g());
        f.k_ localk_2 = localk_1;
        return localk_2;
      }
      finally
      {
        if (bool) {
          f.this.h(bool);
        }
      }
    }
    
    public List o()
    {
      return this.b;
    }
    
    public int c(f.p_ paramp_)
    {
      return this.a.indexOf(paramp_);
    }
    
    public void a(f.p_ paramp_, int paramInt)
    {
      if (paramp_.a() == this)
      {
        int i = c(paramp_);
        if (f.Wb == 0)
        {
          if (i != paramInt)
          {
            this.a.remove(i);
            this.a.add(paramInt, paramp_);
          }
        }
        else {
          f.this.pb();
        }
      }
    }
    
    public f.n_ j()
    {
      return b(this.c.size());
    }
    
    public f.n_ b(int paramInt)
    {
      boolean bool = f.this.qb();
      if (bool) {
        f.this.h(false);
      }
      try
      {
        f.m_ localm_1 = new f.m_();
        f.this.a(localm_1);
        double d1 = f.this.cb();
        f.l_ locall_1 = new f.l_(f.this, f.this.fb(), f.this.gb(), f.this.hb());
        this.c.add(paramInt, locall_1);
        locall_1.c = this;
        f.m_ localm_2 = new f.m_();
        f.this.a(localm_2);
        f.this.j(d1 + locall_1.g(), a().d() + localm_2.a - localm_1.a + localm_2.c - localm_1.c);
        f.l_ locall_2 = locall_1;
        return locall_2;
      }
      finally
      {
        if (bool) {
          f.this.h(bool);
        }
      }
    }
    
    public List l()
    {
      return this.d;
    }
    
    public int c(f.n_ paramn_)
    {
      return this.c.indexOf(paramn_);
    }
    
    public void a(f.n_ paramn_, int paramInt)
    {
      if (paramn_.a() == this)
      {
        int i = c(paramn_);
        if (f.Wb == 0)
        {
          if (i != paramInt)
          {
            this.c.remove(i);
            this.c.add(paramInt, paramn_);
          }
        }
        else {
          f.this.pb();
        }
      }
    }
  }
  
  private static final class m_
  {
    double a;
    double b;
    double c;
    double d;
  }
  
  public static abstract interface o_
  {
    public abstract f.n_ j();
    
    public abstract f.n_ b(int paramInt);
    
    public abstract f.n_ c(int paramInt);
    
    public abstract int k();
    
    public abstract List l();
  }
  
  public static abstract interface q_
  {
    public abstract f.p_ m();
    
    public abstract f.p_ d(int paramInt);
    
    public abstract f.p_ e(int paramInt);
    
    public abstract int n();
    
    public abstract List o();
  }
  
  public static abstract interface n_
    extends f.o_
  {
    public abstract f.o_ a();
    
    public abstract void a(f.o_ paramo_);
    
    public abstract int b();
    
    public abstract void a(int paramInt);
    
    public abstract void c();
    
    public abstract bb d();
    
    public abstract boolean e();
    
    public abstract void a(boolean paramBoolean);
    
    public abstract void a(double paramDouble);
    
    public abstract double f();
    
    public abstract void b(double paramDouble);
    
    public abstract double g();
    
    public abstract Rectangle2D h();
    
    public abstract void a(u paramu);
    
    public abstract u i();
  }
  
  public static abstract interface p_
    extends f.q_
  {
    public abstract f.q_ a();
    
    public abstract void a(f.q_ paramq_);
    
    public abstract int b();
    
    public abstract void a(int paramInt);
    
    public abstract void c();
    
    public abstract bb d();
    
    public abstract boolean e();
    
    public abstract void a(boolean paramBoolean);
    
    public abstract void a(double paramDouble);
    
    public abstract double f();
    
    public abstract void b(double paramDouble);
    
    public abstract double g();
    
    public abstract Rectangle2D h();
    
    public abstract void a(u paramu);
    
    public abstract u i();
  }
  
  public static abstract interface r_
    extends f.q_, f.o_
  {
    public abstract f a();
    
    public abstract f.p_ a(double paramDouble1, double paramDouble2);
    
    public abstract f.p_ a(a.c.e parame);
    
    public abstract void a(a.c.e parame, f.p_ paramp_);
    
    public abstract Collection b();
    
    public abstract f.n_ b(double paramDouble1, double paramDouble2);
    
    public abstract f.n_ b(a.c.e parame);
    
    public abstract void a(a.c.e parame, f.n_ paramn_);
    
    public abstract Collection c();
    
    public abstract void a(u paramu);
    
    public abstract u d();
  }
  
  private static final class i_
  {
    final Map a = new HashMap();
    final Map c = new HashMap();
    
    int a(f.n_ paramn_)
    {
      return a(((f.j_)paramn_).a);
    }
    
    int a(Object paramObject)
    {
      Integer localInteger = (Integer)this.a.get(paramObject);
      if (f.Wb == 0) {
        if (localInteger == null)
        {
          localInteger = new Integer(this.a.size());
          this.a.put(paramObject, localInteger);
        }
      }
      return localInteger.intValue();
    }
    
    int a(f.p_ paramp_)
    {
      return c(((f.j_)paramp_).a);
    }
    
    int c(Object paramObject)
    {
      Integer localInteger = (Integer)this.c.get(paramObject);
      if (f.Wb == 0) {
        if (localInteger == null)
        {
          localInteger = new Integer(this.c.size());
          this.c.put(paramObject, localInteger);
        }
      }
      return localInteger.intValue();
    }
  }
  
  private static final class g_
  {
    final Map a = new HashMap();
    final Map b = new HashMap();
    
    void a(int paramInt, f.n_ paramn_)
    {
      this.a.put(new Integer(paramInt), ((f.j_)paramn_).a);
    }
    
    Object a(int paramInt)
    {
      Object localObject = this.a.get(new Integer(paramInt));
      if (f.Wb == 0) {}
      return localObject == null ? f.d_.b : localObject;
    }
    
    void a(int paramInt, f.p_ paramp_)
    {
      this.b.put(new Integer(paramInt), ((f.j_)paramp_).a);
    }
    
    Object c(int paramInt)
    {
      Object localObject = this.b.get(new Integer(paramInt));
      if (f.Wb == 0) {}
      return localObject == null ? f.d_.b : localObject;
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.j.b.f

 * JD-Core Version:    0.7.0.1

 */